设计模式解析(第2版•修订版)

978-7-115-41014-6
作者: 【美】Alan Shalloway(艾伦•沙洛维) James R.Trott(詹姆斯•R.特罗特)
译者: 徐言声
编辑: 杨海玲

图书目录:

第 一部分 面向对象软件开发简介

第 1章 面向对象范型 2

1.1 概览 2

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

1.3 需求问题 4

1.4 应对变化:使用功能分解 5

1.5 应对需求变更 7

1.6 面向对象范型 10

1.7 面向对象程序设计实践 15

1.8 特殊对象方法 17

1.9 小结 18

复习题 19

简答题 19

阐述题 20

观点与应用题 20

第 2章 UML 21

2.1 概览 21

2.2 什么是UML 21

2.3 为什么使用UML 22

2.4 类图 22

2.5 交互图 28

2.6 小结 30

复习题 30

简答题 30

阐述题 30

观点与应用题 30

第 二部分 传统面向对象设计的局限

第3章 对代码灵活性要求很高的问题 33

3.1 概览 33

3.2 提取CAD/CAM系统的信息 33

3.3 了解专业术语 34

3.4 问题描述 35

3.5 挑战及其解决方案 37

3.6 小结 39

复习题 40

简答题 40

阐述题 40

观点与应用题 40

第4章 标准的面向对象解决方案 41

4.1 概览 41

4.2 作为特例来解决 41

4.3 小结 48

复习题 48

简答题 48

阐述题 49

观点与应用题 49

第三部分 设 计 模 式

第5章 设计模式简介 53

5.1 概览 53

5.2 设计模式源自建筑学和人类学 53

5.3 从建筑模式到软件设计模式 57

5.4 为什么学习设计模式 58

5.5 学习设计模式的其他好处 62

5.6 小结 63

复习题 63

简答题 63

阐述题 64

观点与应用题 64

第6章 Facade模式 65

6.1 概览 65

6.2 Facade模式简介 65

6.3 学习Facade模式 65

6.4 实践注记:Facade模式 68

6.5 Facade模式与CAD/CAM问题的联系 69

6.6 小结 70

复习题 70

简答题 70

阐述题 70

观点与应用题 71

第7章 Adapter模式 72

7.1 概览 72

7.2 Adapter模式简介 72

7.3 学习Adapter模式 73

7.4 实践注记:Adapter模式 77

7.5 Adapter模式与CAD/CAM问题的联系 80

7.6 小结 80

复习题 80

简答题 80

阐述题 81

观点与应用题 81

第8章 开拓视野 82

8.1 概览 82

8.2 对象:传统看法与新看法 83

8.3 封装:传统看法与新看法 84

8.4 发现变化并将其封装 87

8.5 共性和可变性分析与抽象类 90

8.6 敏捷编程的品质 92

8.7 小结 95

复习题 96

简答题 96

阐述题 96

观点与应用题 97

第9章 Strategy模式 98

9.1 概览 98

9.2 处理新需求的一种途径 98

9.3 国际电子商务系统案例研究:**初的需求 100

9.4 处理新的需求 101

9.5 Strategy模式 108

9.6 实践注记:使用Strategy模式 110

9.7 小结 111

复习题 111

简答题 111

阐述题 112

观点与应用题 112

第 10章 Bridge模式 113

10.1 概览 113

10.2 Bridge模式简介 113

10.3 学习Bridge模式:示例 114

10.4 对使用设计模式的观察 123

10.5 学习Bridge模式:通过将它推演出来 124

10.6 Bridge模式回顾 131

10.7 实践注记:使用Bridge模式 132

10.8 小结 135

复习题 137

简答题 137

阐述题 137

观点与应用题 137

第 11章 Abstract Factory模式 138

11.1 概览 138

11.2 Abstract Factory模式简介 138

11.3 学习Abstract Factory模式:示例 138

11.4 学习Abstract Factory模式:实现该模式 144

11.5 实践注记:Abstract Factory模式 149

11.6 将Abstract Factory模式与CAD/CAM问题联系起来 151

11.7 小结 151

复习题 152

简答题 152

阐述题 152

观点与应用题 152

第四部分 组合起来:用模式思考

第 12章 专家设计之道 154

12.1 概览 154

12.2 添加特征的创建方式 154

12.3 小结 160

复习题 160

简答题 160

阐述题 161

观点与应用题 161

第 13章 用模式解决CAD/CAM问题 162

13.1 概览 162

13.2 对CAD/CAM问题的回顾 162

13.3 用模式思考 163

13.4 用模式思考:步骤1 164

13.5 用模式思考:步骤2a 165

13.6 用模式思考:步骤2b 169

13.7 用模式思考:步骤2c 172

13.8 用模式思考:重复步骤2a和步骤2b(Facade模式) 173

13.9 用模式思考:重复步骤2a和步骤2b(Adapter模式) 174

13.10 用模式思考:重复步骤2a和步骤2b(Abstract Factory模式) 174

13.11 用模式思考:步骤3 175

13.12 与原解决方案的比较 175

13.13 小结 176

复习题 177

简答题 177

阐述题 177

观点与应用题 177

第五部分 迈向新的设计方式

第 14章 设计模式的原则与策略 180

14.1 概览 180

14.2 开闭原则 181

14.3 从背景设计原则 181

14.4 封装变化原则 185

14.5 抽象类与接口 186

14.6 理性怀疑原则 187

14.7 小结 187

复习题 188

简答题 188

阐述题 188

观点与应用题 188

第 15章 共性与可变性分析 189

15.1 概览 189

15.2 共性和可变性分析与应用程序设计 189

15.3 用CVA解决CAD/CAM问题 190

15.4 小结 194

复习题 194

简答题 194

阐述题 194

观点与应用题 195

第 16章 分析矩阵 196

16.1 概览 196

16.2 现实世界:充满变化 196

16.3 国际电子商务系统案例研究:应对变化 197

16.4 实践注记 203

16.5 小结 206

复习题 206

简答题 206

阐述题 206

观点与应用题 206

第 17章 Decorator模式 207

17.1 概览 207

17.2 更多细节 207

17.3 Decorator模式 209

17.4 将Decorator模式应用到我们的案例研究 210

17.5 另一个例子:输入/输出 213

17.6 实践注记:使用Decorator模式 215

17.7 Decorator模式的本质 216

17.8 小结 217

复习题 217

简答题 217

阐述题 217

观点与应用题 217

第六部分 其他重要模式

第 18章 Observer模式 220

18.1 概览 220

18.2 模式的分类 220

18.3 国际电子商务案例的更多需求 221

18.4 Observer模式 222

18.5 将Observer模式应用到我们的案例研究 223

18.6 实践注记:使用Observer模式 227

18.7 小结 229

复习题 229

简答题 229

阐述题 230

观点与应用题 230

第 19章 Template Method模式 231

19.1 概览 231

19.2 案例研究的更多需求 231

19.3 Template Method模式 232

19.4 将Template Method模式应用到我们的案例研究 232

19.5 使用Template Method模式减少冗余 233

19.6 实践注记:使用Template Method模式 238

19.7 小结 239

复习题 240

简答题 240

阐述题 240

第七部分 各种工厂模式

第 20章 来自设计模式的教益:各种工厂模式 242

20.1 概览 242

20.2 工厂 242

20.3 再谈背景 243

20.4 工厂遵循我们的准则 245

20.5 限制变化的影响 246

20.6 对工厂的另一种思考方式 246

20.7 工厂的不同角色 247

20.8 实践注记 247

20.9 小结 248

复习题 248

简答题 248

阐述题 248

观点与应用题 248

第 21章 Singleton模式和Double-Checked Locking模式 249

21.1 概览 249

21.2 Singleton模式简介 249

21.3 将Singleton模式应用到我们的案例研究 250

21.4 一种变体:Double-Checked Locking模式 252

21.5 反思 255

21.6 实践注记:使用Singleton模式和Double-Checked Locking模式 255

21.7 小结 256

复习题 256

简答题 256

阐述题 256

观点与应用题 256

第 22章 Object Pool模式 257

22.1 概览 257

22.2 一个需要对对象进行管理的问题 257

22.3 Object Pool模式 263

22.4 观察:工厂的作用不仅是实例化 263

22.5 小结 265

复习题 265

简答题 265

阐述题 266

观点与应用题 266

第 23章 Factory Method模式 267

23.1 概览 267

23.2 案例研究的更多需求 267

23.3 Factory Method模式 268

23.4 Factory Method模式与面向对象语言 268

23.5 实践注记:使用Factory Method模式 269

23.6 小结 270

复习题 271

简答题 271

阐述题 271

观点与应用题 271

第 24章 工厂模式的总结 272

24.1 概览 272

24.2 软件开发过程中的步骤 272

24.3 工厂与极限编程实践殊途同归 273

24.4 系统的扩展性 273

第八部分 终点与起点

第 25章 设计模式回顾:总结与新起点 276

25.1 概览 276

25.2 面向对象原则的总结 276

25.3 设计模式如何封装实现 277

25.4 共性和可变性分析与设计模式 277

25.5 按责任分解问题域 278

25.6 模式和从背景设计 279

25.7 模式内部的关联 279

25.8 设计模式与敏捷编程实践 281

25.9 实践注记 281

25.10 小结 281

复习题 282

简答题 282

阐述题 282

观点与应用题 282

第 26章 参考书目 283

26.1 本书配套网站 283

26.2 推荐阅读 284

26.3 针对Java程序员的推荐读物 285

26.4 针对C++程序员的推荐读物 286

26.5 针对COBOL程序员的推荐读物 287

26.6 极限编程的推荐读物 287

26.7 程序设计的一般性推荐读物 287

26.8 个人推荐 288

详情

本书首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。 本书适合软件开发专业人士,以及计算机专业、软件工程专业的高校师生阅读,也可作为面向对象分析与设计课程的参考教材。

图书摘要

相关图书

DirectX 12 3D 游戏开发实战
DirectX 12 3D 游戏开发实战
Python和NLTK自然语言处理
Python和NLTK自然语言处理
scikit-learn机器学习(第2版)
scikit-learn机器学习(第2版)
C++编程自学宝典
C++编程自学宝典
数据科学实战手册(第2版)
数据科学实战手册(第2版)
Scala实用指南
Scala实用指南

相关文章

相关课程