架构师训练营 第 3 周总结
本周在上周讲的五个基本设计原则的基础上,重点讲了一些常用到的设计模式,以及这些设计模式是如何优雅地在框架设计中应用的。下面是自己对一些常用设计模式不同应用场景的理解。
简单工厂
简单工厂可以通过把创建不同对象的逻辑移到配置文件中,从而去掉 if-else 的判断,以实现框架层面的开闭原则。客户端可以通过修改配置文件来生产不同的对象。
策略模式
面向接口的开发,以支持开闭原则。
模版方法模式
定义流程,并提供扩展点给客户端进行必要的扩展,在框架设计时用来定义方法的流程。
代理模式
代理模式的主要应用场景是实现一些非业务功能,让开发人员可以专心实现业务功能,而不用去关心费业务的细节,比如日志、监控等。
装饰器模式
开发人员可以自由搭配不同的装饰器以获得更多的功能。
责任链模式
有一个责任链chain来统一调用责任链上的每个拦截器。类似的应用场景如 Servlet Filter 和 Spring Interceptor。
组合模式
开发人员可以按层级关系组装一组对象,通过对最顶层的对象的调用,实现遍历调用它所组成的所有的对象。
观察者模式
被观察者中肯定有一个集合存放着观察者,当状态发生变化时,通知所有的观察者。
版权声明: 本文为 InfoQ 作者【Lingjun】的原创文章。
原文链接:【http://xie.infoq.cn/article/2e0fce9d857334839b9fa0972】。文章转载请联系作者。
评论