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 的《设计模式》进行对比。此书更适合入门,可以清楚地理解各种概念与对应的示例;《设计模式》相对晦涩,适合挖掘设计模式这套理论的部分起源(再往上挖,就要到亚历山大的建筑学中的设计模式了)。


此书还有两个特点:在大的分类中,穿插了一些专题,辅助理解;把设计原则与设计模式之间的关系既纵向分类了,也横向联系与对比,组成了网状的知识结构,而非按照目录的树状结构,加深理解。


更多相关文章

  1. 桥接模式在开源代码中的应用
  2. 模板方法模式在开源代码中应用
  3. 组合模式在开源代码中的应用
  4. 享元模式在开源代码中的应用
  5. 外观模式在开源代码中的应用
  6. 装饰器模式在开源代码中的应用
  7. 适配器模式在开源代码中的应用
  8. 建造者模式和原型模式在开源代码中的应用
  9. 代理模式在开源代码中的应用

随机推荐

  1. c语言return的用法是什么?
  2. “->” 在 C 语言什么意思?
  3. C 语言结构体详解
  4. c语言break和continue用法
  5. C语言--x和x--的区别
  6. c语言中fun用法详解
  7. c++中string类的常用方法有哪些
  8. C++ 引用和指针区别
  9. C语言比较三个数大小
  10. c语言实现输出所有的水仙花数