《设计模式精解》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)Alan Shalloway,(美)James R.Trott著;熊节译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302098417
  • 页数:242 页
图书介绍:本书从一个新的视角描述面向对象设计,将面向对象编程的原则与运用设计模式力量创建可靠的软件开发环境结合起来,书中采用实用、恰当的例子,指导读者用模式解决普通的编程问题,并且阐述了现代软件设计模式的优越性,适用于学习面向对象设计和设计模式的学生,程序员和从事软件开发的人士。

目录 2

第1篇 面向对象软件设计简介 2

第1章 面向对象范式 2

1.1 概述 2

1.2 面向对象范式之前:功能分解 2

1.3 需求的问题 4

1.4 处理变化:使用功能分解 5

1.5 处理变化的需求 7

1.6 面向对象范式 9

1.7 实践中的面向对象程序设计 14

1.8 特殊的对象方法 16

1.9 总结 17

第2章 UML——统一建模语言 20

2.1 概述 20

2.2 什么是UML 20

2.3 为什么使用UML 21

2.4 类图 21

2.5 交互图 26

2.6 总结 28

3.1 概述 30

3.2 从一个CAD/CAM系统提取信息 30

第2篇 传统面向对象设计的局限性 30

第3章 一个急需灵活代码的问题 30

3.3 理解专业词汇 31

3.4 问题的描述 32

3.5 基本的挑战和解决方法 34

3.6 总结 37

第4章 一个标准面向对象解决方案 38

4.1 概述 38

4.2 解决特定案例 38

4.3 总结 45

4.4 附录:C++代码示例 45

5.1 概述 51

5.2 设计模式产生于建筑学和人类学 51

第3篇 设计模式 51

第5章 设计模式简介 51

5.3 从建筑学转移到软件设计模式 55

5.4 为什么要学习设计模式 57

5.5 学习设计模式的其他优点 60

5.6 总结 61

第6章 Facade(外观)模式 62

6.1 概述 62

6.2 Facade模式简介 62

6.3 学习Facade模式 62

6.4 本章备注:Facade模式 65

6.5 将Facade模式与CAD/CAM问题联系起来 66

6.6 总结 67

第7章 Adapter(适配器)模式 68

7.1 概述 68

7.2 Adapter模式简介 68

7.3 学习Adapter模式 69

7.4 本章备注:Adapter模式 73

7.5 将Adapter模式与CAD/CAM问题联系起来 76

7.6 总结 76

7.7 附录:C++代码示例 76

第8章 扩展我们的视野 77

8.1 概述 77

8.2 对象:原来的观点和新的观点 78

8.3 封装:原来的观点和新的观点 79

8.4 发现并封装变化点 81

8.5 共同点/变化点以及抽象类 83

8.6 总结 85

第9章 Bridge(桥接)模式 86

9.1 概述 86

9.2 Bridge模式简介 86

9.3 学习Bridge模式:一个例子 87

9.4 使用设计模式的观察结果 96

9.5 学习Bridge模式:将它推导出来 97

9.7 本章备注:使用Bridge模式 107

9.6 Bridge模式回顾 107

9.8 总结 110

9.9 附录:C++代码示例 112

第10章 Abstract Factory(抽象工厂)模式 117

10.1 概述 117

10.2 Abstract Factory模式简介 117

10.3 学习Abstract Factory模式:一个例子 117

10.4 学习Abstract Factory模式:实现它 124

10.5 本章备注:Abstract Factory模式 127

10.6 将Abstract Factory模式与CAD/CAM问题联系起来 129

10.8 附录:C++代码示例 130

10.7 总结 130

第4篇 将所有这些放在一起:用模式的方法思考 134

第11章 专家如何进行设计 134

11.1 概述 134

11.2 通过“添加特征”进行建设 134

11.3 总结 139

第12章 用模式解决CAD/CAM问题 141

12.1 概述 141

12.2 对CAD/CAM问题的回顾 141

12.3 用模式的方法思考 142

12.5 用模式的方法思考:步骤2a 143

12.4 用模式的方法思考:步骤1 143

12.6 用模式的方法思考:步骤2b 147

12.7 用模式的方法思考:步骤2c 150

12.8 用模式的方法思考:步骤2d(Facade模式) 151

12.9 用模式的方法思考:步骤2d(Adapter模式) 152

12.10 用模式的方法思考:步骤2d(Abstract Factory模式) 153

12.11 用模式的方法思考:步骤3 153

12.12 与前面的解决方案的比较 154

12.13 总结 155

13.1 概述 156

13.2 开放-封闭的原则 156

第13章 设计模式的原则和策略 156

13.3 从场景进行设计的原则 157

13.4 包容变化的原则 160

13.5 总结 161

第5篇 用设计模式处理变化 165

第14章 Strategy(策略)模式 165

14.1 概述 165

14.2 一种处理新需求的途径 165

14.3 案例最初的需求 167

14.4 处理新的需求 167

14.5 Strategy模式 170

14.6 本章备注:使用Strategy模式 172

14.7 总结 173

第15章 Decorator(装饰)模式 174

15.1 概述 174

15.2 更细致的观察 174

15.3 Decorator模式 176

15.4 在我们的案例研究中应用Decorator模式 177

15.5 另一个例子:输入/输出 180

15.6 本章备注:使用Decorator模式 181

15.7 总结 183

15.8 附录:C++代码示例 183

16.2 Singleton模式简介 186

第16章 Singleton(单件)模式和Double-Checked Locking(双重检查锁定)模式 186

16.1 概述 186

16.3 在我们的案例研究中应用Singleton模式 187

16.4 一种变体:Double-Checked Locking模式 188

16.5 本章备注:使用Singleton模式和Double-Checked Locking模式 190

16.6 总结 191

16.7 附录:C++代码示例 191

16.8 译注 192

第17章 Observer(观察者)模式 194

17.1 概述 194

17.2 模式的分类 194

17.3 案例研究的更多需求 195

17.4 Observer模式 196

17.5 在我们的案例研究中应用Observer模式 197

17.6 本章备注:使用Observer模式 203

17.7 总结 203

17.8 附录:C++代码示例 204

第18章 Template Method(模板方法)模式 206

18.1 概述 206

18.2 案例研究的更多需求 206

18.3 Template Method模式 207

18.4 在我们的案例研究中应用Template Method模式 207

18.5 本章备注:使用Template Method模式 208

18.6 总结 210

第19章 Factory Method(工厂方法)模式 211

19.1 概述 211

19.2 案例研究的更多需求 211

19.3 Factory Method模式 212

19.4 本章备注:使用Factory Method模式 213

19.5 总结 214

第20章 分析矩阵 215

20.1 概述 215

20.2 现实世界:变化 215

20.3 变化中的案例研究:一个国际电子零售系统 216

20.4 本章备注 222

20.5 总结 223

第6篇 终点和起点 226

第21章 从面向对象设计的新视角进行的设计模式回顾 226

21.1 概述 226

21.2 面向对象原则的总结 226

21.3 设计模式如何封装实现 227

21.4 共同点/变化点分析和设计模式 227

21.5 按照责任分解问题领域 228

21.6 一个模式内部的关联 228

21.7 模式和场景化设计 229

21.9 总结 230

21.8 本章备注 230

第22章 推荐书目 232

22.1 设计模式精解:网络手册 232

22.2 设计模式和面向对象的推荐读物 233

22.3 给Java程序员的推荐读物 234

22.4 给C++程序员的推荐读物 235

22.5 给COBOL程序员的推荐读物 235

22.6 给XP(极端编程)的推荐读物 236

22.7 通用程序设计的推荐读物 236

22.8 个人推荐 236

附录:词汇表 239