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

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

设计模式介绍

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

参考书籍

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


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

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

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


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

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


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

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


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

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


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

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

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


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

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


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

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

设计模式与源码

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

个人理解

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

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

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

总结

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

相关推荐
科米米4 分钟前
嵌入式日志模块
后端
血小溅28 分钟前
三大 AI 编码框架深度对比:GSD vs OpenSpec vs Superpowers
人工智能·后端
ThanksGive42 分钟前
层级时间轮看门狗
后端
GetcharZp1 小时前
告别繁琐命令行!这款容器可视化神器,让 Docker/K8s 管理变得如此简单
后端
铁皮饭盒5 小时前
bun直接tsx,优雅!
javascript·后端
Cosolar5 小时前
藏在 Claude Code 里的极致浪漫:完整 187 条 Spinner Verbs 全收录
后端·程序员·代码规范
Csvn6 小时前
Linux 防火墙管理 — firewalld 实战
后端
Csvn6 小时前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
leeyi6 小时前
Multi-Agent:让多个 AI 分工协作完成复杂任务
后端·aigc·agent
长栎6 小时前
你的策略模式是 Map<String, Strategy>?那不过是最廉价的 if-else 替代品
后端