Design Patterns

Details

Name: Design Patterns – Elements of Reusable Object-Oriented Software
Publisher: Addison-Wesley Professional
Release Date: November 10, 1994
Author: Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides

书名:设计模式:可复用面向对象软件的基础
出版社:机械工业出版社
出版日期:2004年9月(晚10年)
译者:李英军 马晓星 蔡敏 刘建中

Review

设计模式,第一次听说这个词的时候就觉得高深莫测。前两天还看到有人在论坛上批判设计模式,说实用价值不大,我也在论坛上回帖讨论过这个话题。怎么说呢,你觉得数学里面的平方和公式有实用价值吗?但是,平方和、平方差、立方和、立方差这些看起来都不太起眼的公式组合起来,却能解决好多复杂的问题。例如通过立方差公式,可以推导出计算1*1 + 2*2 + 3*3 + … + n*n = ?的公式。

设计模式也是如此,虽然每一个模式不一定就能100%的解决某个具体问题,但是有了这些模式,你可以灵活变幻出好多其它模式。数学公式不应该死记硬背,设计模式同样也不应该死记硬背,硬套公式、硬套设计模式都是不好的。就像张三丰教张无忌太极拳和太极剑一样,把所有招式都记住了并不是真的学会了,记住之后再把所有招式都忘掉,才是真正的融会贯通。

设计模式这本书应该算是前无古人的,而且作者出书的目的也并不是告诉大家说在软件设计时,只能使用这些模式。作者的意图是,从他多年从事架构设计的经验,总结出了不同项目中一些共性的东西。而这些共性的小结构又没有被一一命名,所以作者希望借这本书,让所有的软件开发人员对这些小结构达成共识,有一个统一的描述方式。

这本书我读了两遍,但是个人觉得,我还并没有完全掌握。建议适当配合其他设计模式的书籍作为辅助,配合阅读。

下图是书中讲到的23个设计模式

这本书我2006年第一次阅读,对设计模式有个大概的了解。2008年第二次阅读,但仍不能说是融会贯通。