5、单件模式
6、命令模式: 封装调用
7、适配器与外观模式
8、模板方法模式:封装算法
9、迭代器与组合模式:管理集合
10 、状态模式
11、代理模式:控制对象访问
12 、复合模式
13、真实世界中的模式:与设计模式相处
14、附录A:剩下的模式
学习设计模式的必要性:
1)、设计高内聚、低耦合、弹性好、复用度高、可维护性好的代码
2)、提高沟通效率:
(1)、当你使用模式名称和其他开发人员或者开发团队沟通时,你们之间交流的不只是模式名称,而是一整套模式背后所象征的质量、特性、约束。模式能够让你用更少的词汇做更充分的沟通。当你用模式描述的时候,其他开发人员便很容易地知道你对设计的想法。
(2)、使用模式谈论软件系统,可以让你保持在设计层次,不会被压低到对象与类这种琐碎的事
学习的过程中,我们通过UML类图来说明设计模式中类之间的关系。所有的代码都放在网络上,可供下载。网址: https://www.wickedlysmart.com/head-first-design-patterns/,或者Github上也有人使用Java8对其进行了改写。
重要概念说明:
1)、松耦合的威力
当两个对象之间松糊合,它们依然可以交互,但是不太清楚彼此的细节。松糊合的设计之所以能让我们建立有弹性的00系统,能够应对变化,是因为对象之间的互相依赖降到了最低。观察者模式让主题和观察者之间松耦合。
网友评论