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

 

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

 


【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面试题与答案】整理推荐

  • 基础与语法
  • 集合
  • 网络编程
  • 并发编程
  • Web
  • 安全
  • 设计模式
  • 框架
  • 算法与数据结构
  • 异常
  • 文件解析与生成
  • Linux
  • MySQL
  • Oracle
  • Redis
  • Dubbo

 

你可能感兴趣的:(《Java与模式》)