设计模式对比小结
偶然看到csdn一篇关于设计模式的小结,挺有特点的,特别是对逆鳞的说明,耳目一新。顺道给出了一些自己的思考,由于作者标注不让转发,只能留个连接了,http://blog.csdn.net/ymrfzr/article/details/51493512
以下是自己针对文章的一些思考小结:
1.简单工厂与工厂方法的区别是工厂方法是在将生产具体产品的步骤顺延到了具体子工厂来完成
2.建造者模式是将产品和组装的过程分离,指挥者负责组装,产品输出则由建造者来完成
3.工厂与建造者的区别可以理解为一个是买了套餐,另外一个是自己点了几个菜,最终得到的都是一顿饭
4.代理模型遵循了有接口最小原则,代理本身强调的是对代理类的控制,调用者无法解除到真实的调用者,
装饰则强调的是功能的增强,解决继承带来的耦合。
5.装饰与适配器的有个区别是在于目标与被适配接口不一致,而装饰模式中目标与装饰类接口一致。
6.外观是结构型,而中介者是行为型。外观暴露的是接口,而中介者需要中介对象来交互。导致了中介中各个对象是相互作用的,外观则不会。
说明外观是单向的,而中介者是双向的。
7.状态模式中状态持有上下文对象,因为需要去改变上下文的状态。中介者模式刚好相反,是中介对象持有各个关联对象引用。
8.访问者模式与门面两者都是提供一个统一的接口,区别在于访问模式需要通过接口的对象来指定具体接口。
todo:各个模型UML图补充