书籍详情
设计模式精解
作者:(美)Alan Shalloway,(美)James R.Trott著;熊节译;熊节译
出版社:清华大学出版社
出版时间:2004-12-01
ISBN:9787302098416
定价:¥35.00
购买这本书可以去
内容简介
本书从一个新的视角描述面向对象设计,将面向中对象编程的原则与运用设计模式力量创建健壮、可靠的软件开发环境结合起来。书中采用实用、恰当的例子,指导读者用模式解决普通的编程问题,并且解释现代软件设计模式的优越性。本书适用于学习面向中对象设计和设计模式的学生、程序员以及从事软件开发的人士。 本书要点包括: 对象、封装和继承的新观点 设计模式的思想、起源及其在软件设计学科中的应用 模式基础以及使用统一建模语言(UML)进行面向对象软件开发 如何实现关键模式——Strategy(策略)、Observer(观察者)、Bridge(桥接)、Decorator(装饰)等等 共同点/变化点分析、设计模式以及它们如何帮助理解抽象类
作者简介
Alan Shalloway是Net Objectives(美国一家咨询/培训公司)的创始人、CEO和资深顾问。计算机科学硕士,具有三十多年的软件开发经验,以及多年的指导和培训经验。他在设计模式、OOA,OOD及其灵活运用方面开设了许多课程,并在为其公司和客户开发高级软件方面作出了很大贡献。
目录
第1篇 面向中对象软件设计简介
第1章 面向对象范式
1.1 概述
1.2 面向对象范式之前:功能分解
1.3 需求的问题
1.4 处理变化:使用功能分解
1.5 处理变化的需求
1.6 面向对象范式
1.7 实践中的面向对象程序设计
1.8 特殊的对象方法
1.9 总结
第2章 UML——统一建模语言
2.1 概述
2.2 什么是UML
2.3 为什么使用UML
2.4 类图
2.5 交互图
2.6 总结
第2篇 传统面向对象设计的局限性
第3章 一个急需灵活代码的问题
3.1 概述
3.2 从一个CAD/CAM系统提取信息
3.3 理解专业词汇
3.4 问题的描述
3.5 基本的挑战和解决方法
3.6 总结
第4章 一个标准面向对象解决方案
4.1 概述
4.2 解决特定案例
4.3 总结
4.4 附录:C++代码示例
第3篇 设计模式
第5章 设计模式简介
5.1 概述
5.2 设计模式产生于建筑学和人类学
5.3 从建筑学转移到软件设计模式
5.4 为什么要学习设计模式
5.5 学习设计模式的其他优点
5.6 总结
第6章 Facade(外观)模式
6.1 概述
6.2 Facade模式简介
6.3 学习Facade模式
6.4 本章备注:Facade模式
6.5 将Facade模式与CAD/CAM问题联系起来
6.6 总结
第7章 Adapter(适配器)模式
7.1 概述
7.2 Adapter模式简介
7.3 学习Adapter模式
7.4 本章备注:Adapter模式
7.5 将Adapter模式与CAD/CAM问题联系起来
7.6 总结
7.7 附录:C++代码示例
第8章 扩展我们的视野
8.1 概述
8.2 对象:原来的观点和新的观点
8.3 封装:原来的观点和新的观点
8.4 发现并封装变化点
8.5 共同点/变化点以及抽象类
8.6 总结
第9章 Bridge(桥接)模式
9.1 概述
9.2 Bridge模式简介
9.3 学习Bridge模式:一个例子
9.4 使用设计模式的观察结果
9.5 学习Bridge模式:将它推导出来
9.6 Bridge模式回顾
9.7 本章备注:使用Bridge模式
9.8 总结
9.9 附录:C++代码示例
第10章 Abstract Factory(抽象工厂)模式
10.1 概述
10.2 Abstract Factory模式简介
10.3 学习Abstract Factory模式:一个例子
10.4 学习Abstract Factory模式:实现它
10.5 本章备注:Abstract Factory模式
10.6 将Abstract Factory模式与CAD/CAM问题联系起来
10.7 总结
10.8 附录:C++代码示例
第4篇 将所有这些放在一起:用模式的方法思考
第11章 专家如何进行设计
11.1 概述
11.2 通过“添加特征”进行建设
11.3 总结
第12章 用模式解决CAD/CAM问题
12.1 概述
12.2 对CAD/CAM问题的回顾
12.3 用模式的方法思考
12.4 用模式的方法思考:步骤 1
12.5 用模式的方法思考:步骤 2a
12.6 用模式的方法思考:步骤 2b
12.7 用模式的方法思考:步骤 2c
12.8 用模式的方法思考:步骤 2d(Facade模式)
12.9 用模式的方法思考:步骤 2d(Adapter模式)
12.10 用模式的方法思考:步骤 2d(Abstract Factory模式)
12.11 用模式的方法思考:步骤 3
12.12 与前面的解决方案的比较
12.13 总结
第13章 设计模式的原则和策略
13.1 概述
13.2 开放—封闭的原则
13.3 从场景进行设计的原则
13.4 包容变化的原则
13.5 总结
第5篇 用设计模式处理变化
第14章 Strategy(策略)模式
14.1 概述
14.2 一种处理新需求的途径
14.3 案例最初的需求
14.4 处理新的需求
14.5 Strategy模式
14.6 本章备注:使用Strategy模式
14.7 总结
第15章 Decorator(装饰)模式
15.1 概述
15.2 更细致的观察
15.3 Decorator模式
15.4 在我们的案例研究中应用Decorator模式
15.5 另一个例子:输入/输出
15.6 本章备注:使用Decorator模式
15.7 总结
15.8 附录:C++代码示例
第16章 Singleton(单件)模式和Double-Checked Locking(双重检查锁定)模式
16.1 概述
16.2 Singleton模式简介
16.3 在我们的案例研究中应用Singleton模式
16.4 一种变化:Double-Checked Locking模式
16.5 本章备注:使用Singleton模式和Double-Checked Locking模式
16.6 总结
16.7 附录:C++代码示例
16.8 译注
第17章 Observer(观察者)模式
17.1 概述
17.2 模式的分类
17.3 案例研究的更多需求
17.4 Observer模式
17.5 在我们的案例研究中应用Observer模式
17.6 本章备注:使用Observer模式
17.7 总结
17.8 附录:C++代码示例
第18章 Template Method(模板方法)模式
18.1 概述
18.2 案例研究的更多需求
18.3 Template Method模式
18.4 在我们的案例研究中应用Template Method模式
18.5 本章备注:使用Template Method模式
18.6 总结
第19章 Factory Method(工厂方法)模式
19.1 概述
19.2 案例研究的更多需求
19.3 Factory Method模式
19.4 本章备注:使用Factory Method模式
19.5 总结
第20章 分析矩阵
20.1 概述
20.2 现实世界:变化
20.3 变化中的案例研究:一个国际电子零售系统
20.4 本章备注
20.5 总结
第6篇 终点和起点
第21章 从面向对象设计的新视角进行的设计模式回顾
21.1 概述
21.2 面向对象原则的总结
21.3 设计模式如何封装实现
21.4 共同点/变化点分析和设计模式
21.5 按照责任分解问题领域
21.6 一个模式内部的关联
21.7 模式和场景化设计
21.8 本章备注
21.9 总结
第22章 推荐书目
22.1 设计模式精解:网络手册
22.2 设计模式和面向对象的推荐读物
22.3 给Java程序员的推荐读物
22.4 给C++程序员的推荐读物
22.5 给COBOL程序员的推荐读物
22.6 给XP(极端编程)的推荐读物
22.7 通用程序设计的推荐读物
22.8 个人推荐
附录:词汇表
第1章 面向对象范式
1.1 概述
1.2 面向对象范式之前:功能分解
1.3 需求的问题
1.4 处理变化:使用功能分解
1.5 处理变化的需求
1.6 面向对象范式
1.7 实践中的面向对象程序设计
1.8 特殊的对象方法
1.9 总结
第2章 UML——统一建模语言
2.1 概述
2.2 什么是UML
2.3 为什么使用UML
2.4 类图
2.5 交互图
2.6 总结
第2篇 传统面向对象设计的局限性
第3章 一个急需灵活代码的问题
3.1 概述
3.2 从一个CAD/CAM系统提取信息
3.3 理解专业词汇
3.4 问题的描述
3.5 基本的挑战和解决方法
3.6 总结
第4章 一个标准面向对象解决方案
4.1 概述
4.2 解决特定案例
4.3 总结
4.4 附录:C++代码示例
第3篇 设计模式
第5章 设计模式简介
5.1 概述
5.2 设计模式产生于建筑学和人类学
5.3 从建筑学转移到软件设计模式
5.4 为什么要学习设计模式
5.5 学习设计模式的其他优点
5.6 总结
第6章 Facade(外观)模式
6.1 概述
6.2 Facade模式简介
6.3 学习Facade模式
6.4 本章备注:Facade模式
6.5 将Facade模式与CAD/CAM问题联系起来
6.6 总结
第7章 Adapter(适配器)模式
7.1 概述
7.2 Adapter模式简介
7.3 学习Adapter模式
7.4 本章备注:Adapter模式
7.5 将Adapter模式与CAD/CAM问题联系起来
7.6 总结
7.7 附录:C++代码示例
第8章 扩展我们的视野
8.1 概述
8.2 对象:原来的观点和新的观点
8.3 封装:原来的观点和新的观点
8.4 发现并封装变化点
8.5 共同点/变化点以及抽象类
8.6 总结
第9章 Bridge(桥接)模式
9.1 概述
9.2 Bridge模式简介
9.3 学习Bridge模式:一个例子
9.4 使用设计模式的观察结果
9.5 学习Bridge模式:将它推导出来
9.6 Bridge模式回顾
9.7 本章备注:使用Bridge模式
9.8 总结
9.9 附录:C++代码示例
第10章 Abstract Factory(抽象工厂)模式
10.1 概述
10.2 Abstract Factory模式简介
10.3 学习Abstract Factory模式:一个例子
10.4 学习Abstract Factory模式:实现它
10.5 本章备注:Abstract Factory模式
10.6 将Abstract Factory模式与CAD/CAM问题联系起来
10.7 总结
10.8 附录:C++代码示例
第4篇 将所有这些放在一起:用模式的方法思考
第11章 专家如何进行设计
11.1 概述
11.2 通过“添加特征”进行建设
11.3 总结
第12章 用模式解决CAD/CAM问题
12.1 概述
12.2 对CAD/CAM问题的回顾
12.3 用模式的方法思考
12.4 用模式的方法思考:步骤 1
12.5 用模式的方法思考:步骤 2a
12.6 用模式的方法思考:步骤 2b
12.7 用模式的方法思考:步骤 2c
12.8 用模式的方法思考:步骤 2d(Facade模式)
12.9 用模式的方法思考:步骤 2d(Adapter模式)
12.10 用模式的方法思考:步骤 2d(Abstract Factory模式)
12.11 用模式的方法思考:步骤 3
12.12 与前面的解决方案的比较
12.13 总结
第13章 设计模式的原则和策略
13.1 概述
13.2 开放—封闭的原则
13.3 从场景进行设计的原则
13.4 包容变化的原则
13.5 总结
第5篇 用设计模式处理变化
第14章 Strategy(策略)模式
14.1 概述
14.2 一种处理新需求的途径
14.3 案例最初的需求
14.4 处理新的需求
14.5 Strategy模式
14.6 本章备注:使用Strategy模式
14.7 总结
第15章 Decorator(装饰)模式
15.1 概述
15.2 更细致的观察
15.3 Decorator模式
15.4 在我们的案例研究中应用Decorator模式
15.5 另一个例子:输入/输出
15.6 本章备注:使用Decorator模式
15.7 总结
15.8 附录:C++代码示例
第16章 Singleton(单件)模式和Double-Checked Locking(双重检查锁定)模式
16.1 概述
16.2 Singleton模式简介
16.3 在我们的案例研究中应用Singleton模式
16.4 一种变化:Double-Checked Locking模式
16.5 本章备注:使用Singleton模式和Double-Checked Locking模式
16.6 总结
16.7 附录:C++代码示例
16.8 译注
第17章 Observer(观察者)模式
17.1 概述
17.2 模式的分类
17.3 案例研究的更多需求
17.4 Observer模式
17.5 在我们的案例研究中应用Observer模式
17.6 本章备注:使用Observer模式
17.7 总结
17.8 附录:C++代码示例
第18章 Template Method(模板方法)模式
18.1 概述
18.2 案例研究的更多需求
18.3 Template Method模式
18.4 在我们的案例研究中应用Template Method模式
18.5 本章备注:使用Template Method模式
18.6 总结
第19章 Factory Method(工厂方法)模式
19.1 概述
19.2 案例研究的更多需求
19.3 Factory Method模式
19.4 本章备注:使用Factory Method模式
19.5 总结
第20章 分析矩阵
20.1 概述
20.2 现实世界:变化
20.3 变化中的案例研究:一个国际电子零售系统
20.4 本章备注
20.5 总结
第6篇 终点和起点
第21章 从面向对象设计的新视角进行的设计模式回顾
21.1 概述
21.2 面向对象原则的总结
21.3 设计模式如何封装实现
21.4 共同点/变化点分析和设计模式
21.5 按照责任分解问题领域
21.6 一个模式内部的关联
21.7 模式和场景化设计
21.8 本章备注
21.9 总结
第22章 推荐书目
22.1 设计模式精解:网络手册
22.2 设计模式和面向对象的推荐读物
22.3 给Java程序员的推荐读物
22.4 给C++程序员的推荐读物
22.5 给COBOL程序员的推荐读物
22.6 给XP(极端编程)的推荐读物
22.7 通用程序设计的推荐读物
22.8 个人推荐
附录:词汇表
猜您喜欢