本书荣获2005年第十五届jolt通用类图书震撼大奖。
本书英文影印版被《程序员》等机构评选为2006年很受读者喜爱的十大it图书之一 。
本书趋,因为它在提供专业知识的同时,仍然具有相当高的可读性。叙述很好不错、文笔优美。
本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本23个设计模式。前言先介绍这本书的用;章到1章陆续介绍的设计模式为strategy、observer、decorator、abstract factory、factory method、singleton、mand、adapter、facade、templat method、iterator、ite、state、proxy。很后三章比较特别。2章介绍如何将两个以上的设计模式结合起来成为新的设计模式(例如有名的mvc模式),作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词),3章介绍如何一步学设计模式,如何发觉新的设计模式等主题,至于4章则很快地浏览尚未介绍的设计模式,包括bridge、builder、chain of responsibility、flyweight、interpreter、mediator、memento、prototype、visitor。章还介绍了四个oo基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个oo原则(principle)。千万不要轻视这些oo原则,因为每个设计模式背后都包含了几个oo原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到oo原则,以方便判断取舍。可以这么说:oo原则是我们的目标,而设计模式是我们的做。
本书作者eric freeman和elisabeth freeman是作家、讲师和技术顾问。eric拥有耶鲁大学的计算机科学博士学位,elisabath拥有耶鲁大学的计算机科学硕士学位。kathy sierra(javaranch.的创始人)和bert bates是的head first系列书籍的创立者,也是sun公司java开发员认证考试的开发者。
本书的产品设计应用神经生物学、认知科学,以及学理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘。本书的编写方式采用引导式教学,不直接告诉你该怎么做,而是利用故事当作引子,带领读者思考并想办解决问题。解决问题的过程中又会产生一些新的问题,再继续思考、继续解决问题,这样可以加深体会。作者以大量的生活化故事当背景,例如章是鸭子,第2章是气象站,第3章是咖啡店,书中搭配大量的图(几乎每一页都有图),所以阅读起来生动有趣,不会感觉到昏昏欲睡。作者还利用歪歪斜斜的手写字体,增加“现场感”。精心设计许多爆笑的对白,让学过程不会太枯燥。还有模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的。
本书大量采用uml的class diagram(static structure diagram)。书中的例子程序虽然都是用java编写,但是本书所介绍的内容对于任何oo语言的用户都适用,包括c++和c#。每一章都有数目不等的测验题。每章很后有一页要点整理,这也是精华所在。