期待周末,补个觉、撸篇文
9 月 1 号开始送闺女去幼儿园,这差事比写代码难多了!送过的都知道,没送过的也不要急,往后肯定会有机会的。
老婆也开始上班了,当了 4 年的全职妈妈,仅在我这个猪队友的辅助下,把我们的闺女带大,真心非常不容易。上周末她把浪琴的电池换了,化妆品也开始用起来了,多了几分独立女性的魅力。
她们母女两动起来了,我也不能闲着,锻炼减肥!
我刚刚试图回忆了一下,为啥我会觉得南大的门丑?还觉得应该拆掉?年轻时的沙雕想法。但是年轻真好,体力好、精神好、状态好。这几年写代码挣了一百多万,车、房子首付、老婆、孩子,全都有了,也把自己耗成了中年油腻大叔。期待找回那种可以狂奔的状态...
挤时间虽然已经变得艰难,但还是抽空把计划里关于设计模式的最后一本书《Java与模式》看完了。按照原来的版式,把读书笔记分享出来。
为什么看这本书?
原因很简单,因为它是一本专门用 Java 编程语言讲设计模式的书。
书的整体情况
书比较厚,1000 多页,很全面,也不那么啰嗦,零零碎碎花了 10 个小时的时间看完的。讲了很多基础的概念,适合入门。
书提到了这些知识模块:
设计模式的历史
UML 的介绍
可维护性与复用性的关系
6 大设计原则,以及之间的关系
Java 中与设计模式相关的接口与类的概念
6 种创建型设计模式,及相关专题示例
8 种行为型设计模式,及相关专题示例
12 种结构型设计模式,及相关专题示例
ps:为啥这里是 26 种设计模式?因为它的划分比 GoF 的《设计模式》粒度讲得更细。简单工厂单独一节、多了缺省适配器、不可变模式。
适合阅读人群
已入门 Java,结合 Java 学习设计原则、设计模式。
最大的感触
这是我看过的第一本软件开发与哲学理论挂钩的,用中国古代哲学的一些理论去对比软件开发的一些原理,虽然看上去有点扯,但也耳目一新。
书中也指出了 JDK 里的一些违反设计原则的反例,Stack 和 Properites 就违反了里氏替换原则。Stack 不当地被设计为 Vector 的子类,一个 Stack 不是一个 Vector;Properties 不当地被设计为 HashTable 的子类,Properties 的 getProperties (key) 和 get(key) 会给不同的结果,而且绕过 Properties 接口用 HashTable 加入任意类型的键值对,会导致 Properties 内部矛盾与崩溃。
将本书与 GoF 的《设计模式》进行对比。此书更适合入门,可以清楚地理解各种概念与对应的示例;《设计模式》相对晦涩,适合挖掘设计模式这套理论的部分起源(再往上挖,就要到亚历山大的建筑学中的设计模式了)。
此书还有两个特点:在大的分类中,穿插了一些专题,辅助理解;把设计原则与设计模式之间的关系既纵向分类了,也横向联系与对比,组成了网状的知识结构,而非按照目录的树状结构,加深理解。
更多相关文章
- 桥接模式在开源代码中的应用
- 模板方法模式在开源代码中应用
- 组合模式在开源代码中的应用
- 享元模式在开源代码中的应用
- 外观模式在开源代码中的应用
- 装饰器模式在开源代码中的应用
- 适配器模式在开源代码中的应用
- 建造者模式和原型模式在开源代码中的应用
- 代理模式在开源代码中的应用