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();
}
}
这样通过新增中间件,不去修改核心代码,就可以扩展系统。这种设计方法,解耦,伸缩性很好,应用很广泛。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。