为什么看这本书?
设计模式的开山之作,很有必要探索一下。
书的整体情况
书不厚,200 多页,最近工作比较忙,都是晚上零零散散看一会,花了差不多有七八个小时。
书提到了这些知识模块:
- 什么是设计模式?怎么描述设计模式?怎么选择设计模式?怎么使用设计模式?
- 通过设计一个文档编辑器的案例,介绍了设计问题与设计模式的使用
- 5 个创建型设计模式
- 7 个结构型设计模式
- 11 个行为型设计模式
- 设计模式的将来、Alexander 在建筑界的设计模式理论对软件方面的启发
适合阅读人群
有一些代码基础、希望提高代码质量;探索设计模式理论的历史与最早提出的那些人。
最大的感触
- 理论层面的东西都是相通的,不止一次看到 Alexander 在建筑界设计模式的理论,对软件开发方面理论建设的启发意义。
- 这本书很有时代感了,书是 1994 年出版的,比 Java 的年龄还大。所以书中的代码示例使用的是 C 与 Smalltalk 编程语言,对于只懂 Java 的,得猜猜有些代码的语法意思。
- 在那个年代,桌面应用开发应该还是主流,所以书中的很多例子跟桌面应用相关。
- 我对设计模式描述那块感触还挺深,想要把一类问题描述清楚,并不是那么容易的事,需要找到一些维度去阐述。比如:名称、分类、意图、别名、动机、适用性、结构、参与者、协作、效果、实现、代码示例、已知应用、相关模式。
- 解决实际问题很多时候需要多种设计模式配合使用;很多设计模式之间实现上非常类似,但从意图角度去看它们之间的区别还是挺大,理解了差异方能更好地选择。
- 学会了这些设计模式的招式,忘掉招式,不知不觉就把设计模式融入到代码中,才是成为高手的正确姿势。
【Java学习资源】整理推荐
- 《设计模式》- GoF
- 《HEAD_FIRST设计模式(中文版)》
- 《深入理解Java虚拟机》
- 《面向模式的软件体系结构 - 卷1 模式系统》
- 《Java编程思想(第4版)》
- 《Effective Java中文版 第2版》
- 《Head First Java(第2版)中文版》
- 《Head First Servlets and JSP 2nd Edition》
- 《黑客与画家》
- 《Java入门1•2•3》
- 《Java8实战》
- 《Hello First HTML 与 CSS 第2版》
【Java面试题与答案】整理推荐