店铺推荐
【推荐语】
本书荣获2005年第十五届Jolt通用类图书震撼大奖。

本书英文影印版被《程序员》等机构评选为2006年很受读者喜爱的十大IT图书之一 。

本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。叙述非常不错、文笔优美。

本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。前言先介绍这本书的用法;章到1章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract  Factory、Factory  Method、Singleton、Command、Adapter、Facade、Templat Method、Iterator、Composite、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.com的创始人)和Bert Bates是畅销的Head First系列书籍的创立者,也是Sun公司Java开发员认证考试的开发者。

本书的产品设计应用神经生物学、认知科学,以及学习理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘。本书的编写方式采用引导式教学,不直接告诉你该怎么做,而是利用故事当作引子,带领读者思考并想办法解决问题。解决问题的过程中又会产生一些新的问题,再继续思考、继续解决问题,这样可以加深体会。作者以大量的生活化故事当背景,例如章是鸭子,第2章是气象站,第3章是咖啡店,书中搭配大量的插图(几乎每一页都有图),所以阅读起来生动有趣,不会感觉到昏昏欲睡。作者还利用歪歪斜斜的手写字体,增加“现场感”。精心设计许多爆笑的对白,让学习过程不会太枯燥。还有模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的一切。

本书大量采用UML的Class Diagram(Static Structure Diagram)。书中的例子程序虽然都是用Java编写,但是本书所介绍的内容对于任何OO语言的用户都适用,包括C++和C#。每一章都有数目不等的测验题。每章很后有一页要点整理,这也是精华所在。
【内容】
强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。Kathy Sierra(javaranch.com的创始人)FHBert Bates是畅销的HeadFirst系列书籍的创立者,也是Sun公司Java开发员认证考试的开发者。本书的产品设计应用神经生物学、认知科学,以及学习理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘。本书的编写方式采用引导式教学,不直接告诉你该怎么做,而是利用故事当作引子,带领读者思考并想办法解决问题。解决问题的过程中又会产生一些新的问题,再继续思考、继续解决问题,这样可以加深体会。作者以大量的生活化故事当背景,例如章是鸭子,第2章是气象站,第3章是咖啡店,书中搭配大量的插图(几乎每一页都有图),所以阅读起来生动有趣,不会感觉到昏昏欲睡。作者还利用歪歪斜斜的手写字体,增加“现场感”。精心设计许多爆笑的对白,让学习过程不会太枯燥。还有模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的一切。本书大量采用uML的class Diagram(Static Structure Diagram)。书中的例子程序虽然都是用JaVa编写,但是本书所介绍的内容对于任何00语言的用户都适用,包括c++和c孝。每一章都有数目不等的测验题。每章很后有一页要点整理,这也是精华所在,我都是利用这一页做复习。
【目录】
引子
  谁适合读这本书?
  我们知道你的大脑在想什么
  元认知
  让你的大脑就范
  技术审校
  致谢
1  欢迎来到设计模式世界:设计模式入门
  模拟鸭子应用
  Joe想到继承
  利用接口如何?
  软件开发的不变真理
  分开变化和不变部分
  设计鸭子的行为
  测试鸭子的代码
  动态地设置行为
  封装行为的大局观
  “有一个”比“是一个”更好
  策略模式
  共享模式词汇的威力
  我如何使用设计模式?
  设计箱内的工具
  习题解答
2  让你的对象知悉现况
  气象观测站
  认识观察者模式
  出版者+订阅者=观罕者模式
  五分钟短剧:观察主题
  定义观察者模式
  松耦合的威力
  设计气象站
  实现气象站
  使用Java内建的观察者模式
  java.util.Observable的黑暗面
  设计箱内的工具
  习题解答
……
3  装饰者模式:装饰对象
4  工厂模式:烘烤OO的精华
5  单件模式:独一无二的对象
6  命令模式:封装调用
7  适配器模式与外观模式:随遇而安
8  模板方法模式:封装算法
9  送代器与组合模式:管理良好的集合
10  状态模式:事物的状态
11  代理模式:控制对象访问
12  复合模式:模式中的模式
13  与设计模式相处:真实世界中的模式
A  附录A:剩下的模式
返回顶部