【设计模式-5】设计模式的总结

说明:介绍完所有的设计模式,本文做一下总结

设计模式介绍

博主写的设计模式博客如下:

参考书籍

在学习设计模式,写博客时,同时在看以下几本书:


其中,完整读完的只有《秒懂设计模式》《设计模式之艺术》,每本书的阅读感受如下

  • 《秒懂设计模式》刘韬著,人民邮电出版社

如果你对设计模式一无所知,想用最短的时间、最少的精力较为完整地了解设计模式,很推荐看这本,书中的例子非常棒。


  • 《设计模式就该这样学》谭勇德著,电子工业出版社

书中结合JDK、Spring、Mybatis等开源框架的源码作为例子介绍,最后还介绍了设计模式的总结,非常不错。


  • 《设计模式之美》王争(小争哥)著,人民邮电出版社

书前一半都在介绍如何写出高质量代码和代码规范,很有启发,值得一看。


  • 《设计模式之艺术》刘伟著,清华大学出版社

书中介绍每种设计模式后,都扩展的介绍了一些例子,对理解设计模式很有帮助。像原型模式,作者提到可以使用IO流序列化的方式,实现对引用类型的对象进行深拷贝,影响深刻。


  • 《设计模式(第2版)》刘伟主编,清华大学出版社

是《设计模式之艺术》的第2版,个人对比的看了一下,内容感觉不如第1版,单例模式最后的通过内部类的方式初始化(IoDH),不知道为什么竟然在第2版中去掉了。

但是第2版纸张用的浅绿色,可以保护视力。


  • 《图解设计模式》【日】结城浩著,人民邮电出版社

没怎么看,但作者的《数学女孩》我看了第一册,很好看,非常推荐。


  • 《设计模式》【美】埃里克·伽马(Erich Gamma)、理查德·赫尔姆(Richard Helm)、拉尔夫·约翰逊(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)著

英文版,看不懂,没怎么看,不做评价

设计模式与源码

这里整理一下《设计模式就该这样学》中关于设计模式在JDK或开源框架中的体现,方便后面去针对性的撸源码。

个人理解

个人认为,设计模式不像一门技术或者工具(如Redis、MySQL、Kafka),是程序员的软实力,就像设计模式书籍作者说的那样,是程序员的内功。而对于学习设计模式,我认为毕业的标准是"能看出来,能写出来",也就是说看到人家的代码,要知道人家使用了某种设计模式,而对于自己编码,要能根据业务场景知道可以使用某种设计模式。

对于"能看出来",除了充分理解各种设计模式,还应该能记住设计模式的英文单词,这能帮助我们理解代码,理解编码程序员的意图。

对于"能写出来",当然就需要牢记各种设计模式的使用场景和特点,也需要熟悉各种设计模式的代码表现,如果只是在需要使用的时候再去看,大概率不会有好的结果,可能会出现让业务适用于设计模式的情况,这就本末倒置了。

总结

本文总结了设计模式相关的一些书籍,及设计模式在源码框架上的体现。

相关推荐
uzong2 小时前
技术故障复盘模版
后端
GetcharZp3 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
桦说编程3 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
lifallen3 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研3 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
快乐的划水a4 小时前
组合模式及优化
c++·设计模式·组合模式
wyiyiyi4 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
没有bug.的程序员4 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
阿华的代码王国5 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端