2 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個贊
把底層的接口包裝一層,然后向上層提供接口。這樣底層改變的話,上層也就是你寫的代碼不用動,只改中間鍵即可。由于只有中間鍵一個地方調(diào)用底層,改起來會比較方便。

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個贊
中間件應(yīng)該一種架構(gòu)方法,不局限于特定的語言。
例如提供不同應(yīng)用之間消息通訊的消息中間件。淘寶下面很多產(chǎn)品之間都需要信息共享,通過一個中間人來專門傳遞消息。這樣做很容易擴(kuò)展,對上層應(yīng)用提供統(tǒng)一消息操作接口就行了。單個程序內(nèi)部也可以有中間件,一個程序內(nèi)部實(shí)現(xiàn)對中間件接口對支持。例如web程序,在統(tǒng)一的入口處,加上
middleware->call()
,只要實(shí)現(xiàn)了call接口的中間件,就可以在程序?qū)嶋H執(zhí)行前做很多自定義的動作,例如用戶檢查、日志記錄。
class user_check_middleware() {
public function call() {
//do user check
$app->next_middleware->call();
}
}
class log_middleware() {
public function call(){
//do log
$app->next_middleware->call();
}
}
這樣通過新增中間件,不去修改核心代碼,就可以擴(kuò)展系統(tǒng)。
這種設(shè)計(jì)方法,解耦,伸縮性很好,應(yīng)用很廣泛。
添加回答
舉報(bào)