1.中间件应该一种架构方法,不局限于特定的语言。
例如提供不同应用之间消息通讯的消息中间件。淘宝下面很多产品之间都需要信息共享,通过一个中间人来专门传递消息。这样做很容易扩展,对上层应用提供统一消息操作接口就行了。
2.单个程序内部也可以有中间件,一个程序内部实现对中间件接口对支持。例如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();
}
}
这样通过新增中间件,不去修改核心代码,就可以扩展系统。这种设计方法,解耦,伸缩性很好,应用很广泛。
本文探讨了中间件作为架构方法的应用,不仅限于特定语言,包括消息中间件在多应用间的信息共享,以及单个程序内通过中间件接口扩展功能,如用户检查和日志记录,实现系统解耦和伸缩性。

1473

被折叠的 条评论
为什么被折叠?



