2 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
把底层的接口包装一层,然后向上层提供接口。这样底层改变的话,上层也就是你写的代码不用动,只改中间键即可。由于只有中间键一个地方调用底层,改起来会比较方便。
杨魅力
TA贡献1811条经验 获得超6个赞
中间件应该一种架构方法,不局限于特定的语言。
例如提供不同应用之间消息通讯的消息中间件。淘宝下面很多产品之间都需要信息共享,通过一个中间人来专门传递消息。这样做很容易扩展,对上层应用提供统一消息操作接口就行了。单个程序内部也可以有中间件,一个程序内部实现对中间件接口对支持。例如web程序,在统一的入口处,加上
middleware->call()
,只要实现了call接口的中间件,就可以在程序实际执行前做很多自定义的动作,例如用户检查、日志记录。
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();
}
}
这样通过新增中间件,不去修改核心代码,就可以扩展系统。
这种设计方法,解耦,伸缩性很好,应用很广泛。
添加回答
举报
0/150
提交
取消