【设计模式-5】设计模式的总结
说明:介绍完所有的设计模式,本文做一下总结
设计模式介绍
博主写的设计模式博客如下:
-
【设计模式-1】UML和设计原则
-
【设计模式-2.1】创建型——单例模式
-
【设计模式-2.2】创建型——简单工厂和工厂模式
-
【设计模式-2.3】创建型——原型模式
-
【设计模式-2.4】创建型——抽象工厂模式
-
【设计模式-2.5】创建型——建造者模式
-
【设计模式-3.1】结构型——外观模式
-
【设计模式-3.2】结构型——适配器模式
-
【设计模式-3.3】结构型——享元模式
-
【设计模式-3.4】结构型——代理模式
-
【设计模式-3.5】结构型——装饰器模式
-
【设计模式-3.6】结构型——桥接模式
-
【设计模式-3.7】结构型——组合模式
-
【设计模式-4.1】行为型——策略模式
-
【设计模式-4.2】行为型——观察者模式
-
【设计模式-4.3】行为型——责任链模式
-
【设计模式-4.4】行为型——模板方法模式
-
【设计模式-4.5】行为型——迭代器模式
-
【设计模式-4.6】行为型——状态模式
-
【设计模式-4.7】行为型——备忘录模式
-
【设计模式-4.8】行为型——中介者模式
-
【设计模式-4.9】行为型——命令模式
-
【设计模式-4.10】行为型——访问者模式
-
【设计模式-4.11】行为型——解释器模式
参考书籍
在学习设计模式,写博客时,同时在看以下几本书:
其中,完整读完的只有《秒懂设计模式》《设计模式之艺术》,每本书的阅读感受如下
- 《秒懂设计模式》刘韬著,人民邮电出版社
如果你对设计模式一无所知,想用最短的时间、最少的精力较为完整地了解设计模式,很推荐看这本,书中的例子非常棒。
- 《设计模式就该这样学》谭勇德著,电子工业出版社
书中结合JDK、Spring、Mybatis等开源框架的源码作为例子介绍,最后还介绍了设计模式的总结,非常不错。
- 《设计模式之美》王争(小争哥)著,人民邮电出版社
书前一半都在介绍如何写出高质量代码和代码规范,很有启发,值得一看。
- 《设计模式之艺术》刘伟著,清华大学出版社
书中介绍每种设计模式后,都扩展的介绍了一些例子,对理解设计模式很有帮助。像原型模式,作者提到可以使用IO流序列化的方式,实现对引用类型的对象进行深拷贝,影响深刻。
- 《设计模式(第2版)》刘伟主编,清华大学出版社
是《设计模式之艺术》的第2版,个人对比的看了一下,内容感觉不如第1版,单例模式最后的通过内部类的方式初始化(IoDH),不知道为什么竟然在第2版中去掉了。
但是第2版纸张用的浅绿色,可以保护视力。
- 《图解设计模式》【日】结城浩著,人民邮电出版社
没怎么看,但作者的《数学女孩》我看了第一册,很好看,非常推荐。
- 《设计模式》【美】埃里克·伽马(Erich Gamma)、理查德·赫尔姆(Richard Helm)、拉尔夫·约翰逊(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)著
英文版,看不懂,没怎么看,不做评价
设计模式与源码
这里整理一下《设计模式就该这样学》中关于设计模式在JDK或开源框架中的体现,方便后面去针对性的撸源码。
个人理解
个人认为,设计模式不像一门技术或者工具(如Redis、MySQL、Kafka),是程序员的软实力,就像设计模式书籍作者说的那样,是程序员的内功。而对于学习设计模式,我认为毕业的标准是“能看出来,能写出来”,也就是说看到人家的代码,要知道人家使用了某种设计模式,而对于自己编码,要能根据业务场景知道可以使用某种设计模式。
对于“能看出来”,除了充分理解各种设计模式,还应该能记住设计模式的英文单词,这能帮助我们理解代码,理解编码程序员的意图。
对于“能写出来”,当然就需要牢记各种设计模式的使用场景和特点,也需要熟悉各种设计模式的代码表现,如果只是在需要使用的时候再去看,大概率不会有好的结果,可能会出现让业务适用于设计模式的情况,这就本末倒置了。
总结
本文总结了设计模式相关的一些书籍,及设计模式在源码框架上的体现。