——曾经 Head-First 难嚼蜡,除却 Effective 不是书。

《设计模式》和《重构》两本经典著作已在团队中已有人推荐。不过本文不再推荐通过经典原作来学习设计模式,该书行文相对晦涩难懂,另外描述语言并非 Java,这对 Java 团队来说进一步加大学习了难度,硬啃起来比较吃力。

当然一定要了解《设计模式》原著的一些东西:GOF、23种设计模式及其分类、设计模式的由来等。还有一点尤其重要却最容易被忽略的——它的副标题:〈可复用面向对象软件的基础〉。这个副标题告诉我们设计模式乃至面向对象解决一个很重要的问题:软件复用,而不是为了使用而使用或者为了花哨而使用。

今天要推荐的这两本书都比较易读:《Head First设计模式》幽默风趣插图较多,与晦涩呆板的技术书籍相比如天壤之别;《重构》类似 Effective 系列,细分一个个小条目,不会一下子消化过多内容,而且读过一个小条目就会有收获,成就感十足。当年读完这两本书以及 Effective 系列的几本书后,我不禁感叹:曾经 Head-First 难嚼蜡,除却 Effective 不是书

现在轮到《Head First设计模式》出场了:

hf_dp.jpg

从它的封面我们就能看出很多活泼的元素,这也正是这本书的特点之一:行文风格风趣幽默、插图很多,而不像很多其他技术书籍那样严肃死板,Head First 系列图书都保持这一风格。封面页眉及书名能看到该系列图书是“重视大脑的学习指南”,科学的内容编排让学习起来更容易、更有效。

设计模式告诉我们如何通过面向对象设计解决软件复用问题,但如果你读了并且理解了段时间还是不甚清楚那些模式要在什么场合或者什么时机用到,那么你可能需要接下来这一本书了——《重构》。 refactor.jpg

没错,就是最经典那本《重构》。本文要补充的有几点是:

  1. 它的副标题也很重要——〈改善既有代码的设计〉,前期设计的不足或者系统演进之后可通过重构来改进设计。
  2. 易读,如上所述,它的编排方式类似 Effective 系列。
  3. 会让你能够更好地理解和运用设计模式以及面向对象。
  4. 必须比较熟悉设计模式(最好是读完前一本书再消化一段时间)之后再读。

Enjoy them!