Head First 设计模式- 第十二章和第十三章笔记

复合模式

模式通常被一起使用,并被组合在同一个设计解决方案中。

复合模式在一个解决方案中结合两个或多个模式,以解决一般或重复发生的问题。

MVC是复合模式,结合了观察者模式、策略模式和组合模式。

模型使用观察者模式,以便观察者更新,同时保持两者之间解耦。

控制器是视图的策略,视图可以使用不同的控制器实现,得到不同的行为。

视图使用组合模式实现用户界面,用户界面通常组合了嵌套的组件,像面板、框架和按钮。

这些模式携手合作,把MVC模型的三层解耦,这样可以保持设计干净又有弹性。

适配器模式用来将新的模型适配成已有的视图和控制器。

复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。

真实世界中的模式

模式是在某情境(context)下针对某问题的某种解决方案。

反模式告诉你如何采用一个不好的解决方案解决一个问题。

桥接,使用桥接模式(Bridge Pattern)不只改变你的实现,也改变你的抽象。

生成器,使用生成器模式(Bulider Pattern)封装一个产品的构造过程,并允许按步骤构造。

责任链,当你想要让一个以上的对象有机会能够处理某个请求的时候,就是用责任链模式(Chain of Responsibility Pattern)。

蝇量,如想让某个类的一个实例能用来提升许多“虚拟实例”,就使用蝇量模式(Flyweight Pattern)。

解释器,使用解释器模式为语言创建解释器。

中介者,使用中介者模式来集中相关对象之间复杂的沟通和控制方式。

备忘录,当你需要让对象返回之前的状态时,就使用备忘录模式。

原型,当创建给定类的实例的过程很昂贵或很复杂时,就使用原型模式。

访问者,当你想要为一个对象的组合增加新的能力,且封装并不重要时,就使用访问者模式。

 

posted @ 2020-06-15 20:29  止水于石  阅读(115)  评论(0编辑  收藏  举报