本书以作者自身学习、使用模式和多年来为软件开发人员(包括面向对象技术老兵和新手)讲授模式的经验为基础撰写而成。首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。
本书适合软件开发专业人士,以及计算机专业、软件工程专业的高校师生阅读,也可作为面向对象分析与设计课程的参考教材。 点击链接进入新版 :
软件开发方法学精选系列:设计模式解析(第2版)(修订版)
第一部分 面向对象软件开发简介
第1章 面向对象范型 3
1.1 概览 3
1.2 面向对象范型之前:功能分解 3
1.3 需求问题 5
1.4 应对变化:使用功能分解 6
1.5 应对需求变更 8
1.6 面向对象范型 11
1.7 面向对象程序设计实践 16
1.7 特殊对象方法 18
1.8 小结 19
复习题 20
简答题 20
阐述题 21
观点与应用题 21
第2章 UML 22
2.1 概览 22
2.2 什么是UML 22
2.3 为什么使用UML 23
2.4 类图 23
2.5 交互图 29
2.6 小结 31
复习题 31
简答题 31
阐述题 31
观点与应用题 31
第二部分 传统面向对象设计的局限
第3章 对代码灵活性要求很高的问题 35
3.1 概览 35
3.2 提取CAD/CAM系统的信息 35
3.3 了解专业术语 36
3.4 问题描述 37
3.5 挑战及其解决方案 39
3.6 小结 41
复习题 42
简答题 42
阐述题 42
观点与应用题 42
第4章 标准的面向对象解决方案 43
4.1 概览 43
4.2 作为特例来解决 43
4.3 小结 50
复习题 51
简答题 51
阐述题 51
观点与应用题 51
第三部分 设 计 模 式
第5章 设计模式简介 55
5.1 概览 55
5.2 设计模式源自建筑学和人类学 55
5.3 从建筑模式到软件设计模式 59
5.4 为什么学习设计模式 60
5.5 学习设计模式的其他好处 64
5.6 小结 65
复习题 65
简答题 65
阐述题 66
观点与应用题 66
第6章 Facade模式 67
6.1 概览 67
6.2 Facade模式简介 67
6.3 学习Facade模式 67
6.4 实践注记:Facade模式 70
6.5 Facade模式与CAD/CAM问题的联系 71
6.6 小结 72
复习题 72
简答题 72
阐述题 72
观点与应用题 73
第7章 Adapter模式 74
7.1 概览 74
7.2 Adapter模式简介 74
7.3 学习Adapter模式 75
7.4 实践注记:Adapter模式 79
7.5 Adapter模式与CAD/CAM问题的联系 82
7.6 小结 82
复习题 82
简答题 82
阐述题 83
观点与应用题 83
第8章 开拓视野 84
8.1 概览 84
8.2 对象:传统看法与新看法 85
8.3 封装:传统看法与新看法 86
8.4 发现变化并将其封装 89
8.5 共性和可变性分析与抽象类 92
8.6 敏捷编程的品质 94
8.7 小结 97
复习题 98
简答题 98
阐述题 98
观点与应用题 99
第9章 Strategy模式 100
9.1 概览 100
9.2 处理新需求的一种途径 100
9.3 国际电子商务系统案例研究:最初的需求 102
9.4 处理新的需求 103
9.5 Strategy模式 110
9.6 实践注记:使用Strategy模式 112
9.7 小结 113
复习题 114
简答题 114
阐述题 114
观点与应用题 114
第10章 Bridge模式 115
10.1 概览 115
10.2 Bridge模式简介 115
10.3 学习Bridge模式:示例 116
10.4 对使用设计模式的观察 125
10.5 学习Bridge模式:通过将它推演出来 126
10.6 Bridge模式回顾 133
10.7 实践注记:使用Bridge模式 134
10.8 小结 137
复习题 139
简答题 139
阐述题 139
观点与应用题 139
第11章 Abstract Factory模式 140
11.1 概览 140
11.2 Abstract Factory模式简介 140
11.3 学习Abstract Factory模式:示例 140
11.4 学习Abstract Factory模式:实现该模式 146
11.5 实践注记:Abstract Factory模式 151
11.6 将Abstract Factory模式与CAD/CAM问题联系起来 153
11.7 小结 153
复习题 154
简答题 154
阐述题 154
观点与应用题 154
第四部分 组合起来:用模式思考
第12章 专家设计之道 157
12.1 概览 157
12.2 添加特征的创建方式 157
12.3 小结 163
复习题 163
简答题 163
阐述题 164
观点与应用题 164
第13章 用模式解决CAD/CAM问题 165
13.1 概览 165
13.2 对CAD/CAM问题的回顾 165
13.3 用模式思考 166
13.4 用模式思考:步骤1 167
13.5 用模式思考:步骤2a 168
13.6 用模式思考:步骤2b 172
13.7 用模式思考:步骤2c 175
13.8 用模式思考:重复步骤2a和2b(Facade模式) 176
13.9 用模式思考:重复步骤2a和2b(Adapter模式) 177
13.10 用模式思考:重复步骤2a和2b(Abstract Factory模式) 177
13.11 用模式思考:步骤3 178
13.12 与原解决方案的比较 178
13.13 小结 179
复习题 180
简答题 180
阐述题 180
观点与应用题 180
第五部分 迈向新的设计方式
第14章 设计模式的原则与策略 183
14.1 概览 183
14.2 开闭原则 184
14.3 从背景设计原则 184
14.4 封装变化原则 188
14.5 抽象类与接口 189
14.6 理性怀疑原则 190
14.7 小结 190
复习题 191
简答题 191
阐述题 191
观点与应用题 191
第15章 共性与可变性分析 192
15.1 概览 192
15.2 共性和可变性分析与应用程序设计 192
15.3 用CVA解决CAD/CAM问题 193
15.4 小结 197
复习题 197
简答题 197
阐述题 197
观点与应用题 198
第16章 分析矩阵 199
16.1 概览 199
16.2 现实世界:充满变化 199
16.3 国际电子商务系统案例研究:应对变化 200
16.4 实践注记 206
16.5 小结 209
复习题 209
简答题 209
阐述题 209
观点与应用题 209
第17章 Decorator模式 210
17.1 概览 210
17.2 更多细节 210
17.3 Decorator模式 212
17.4 将Decorator模式应用到我们的案例研究 213
17.5 另一个例子:输入/输出 216
17.6 实践注记:使用Decorator模式 218
17.7 Decorator模式的本质 219
17.8 小结 220
复习题 220
简答题 220
阐述题 220
观点与应用题 220
第六部分 其他重要模式
第18章 Observer模式 223
18.1 概览 223
18.2 模式的分类 223
18.3 国际电子商务案例的更多需求 224
18.4 Observer模式 225
18.5 将Observer模式应用到我们的案例研究 226
18.6 实践注记:使用Observer模式 230
18.7 小结 232
复习题 232
简答题 232
阐述题 233
观点与应用题 233
第19章 Template Method模式 234
19.1 概览 234
19.2 案例研究的更多需求 234
19.3 Template Method模式 235
19.4 将Template Method模式应用到我们的案例研究 235
19.5 使用Template Method模式减少冗余 236
19.6 实践注记:使用Template Method模式 241
19.7 小结 242
复习题 243
简答题 243
阐述题 243
第七部分 各种工厂模式
第20章 来自设计模式的教益:各种工厂模式 247
20.1 概览 247
20.2 工厂 247
20.3 再谈背景 248
20.4 工厂遵循我们的准则 250
20.5 限制变化的影响 251
20.6 对工厂的另一种思考方式 251
20.7 工厂的不同角色 252
20.8 实践注记 252
20.9 小结 253
复习题 253
简答题 253
阐述题 253
观点与应用题 253
第21章 Singleton模式和Double-CheckedLocking模式 254
21.1 概览 254
21.2 Singleton模式简介 254
21.3 将Singleton模式应用到我们的案例研究 255
21.4 一种变体:Double-Checked Locking模式 257
21.5 反思 260
21.6 实践注记:使用Singleton模式和 260
Double-Checked Locking模式 260
21.7 小结 261
复习题 261
简答题 261
阐述题 261
观点与应用题 261
第22章 Object Pool模式 262
22.1 概览 262
22.2 一个需要对对象进行管理的问题 262
22.3 Object Pool模式 268
22.4 观察:工厂的作用不仅是实例化 268
22.5 小结 270
复习题 270
简答题 270
阐述题 271
观点与应用题 271
第23章 Factory Method模式 272
23.1 概览 272
23.2 案例研究的更多需求 272
23.3 Factory Method模式 273
23.4 Factory Method模式与面向对象语言 273
23.5 实践注记:使用Factory Method模式 274
23.6 小结 275
复习题 276
简答题 276
阐述题 276
观点与应用题 276
第24章 工厂模式的总结 277
24.1 概览 277
24.2 软件开发过程中的步骤 277
24.3 工厂与极限编程实践殊途同归 278
24.4 系统的扩展性 278
第八部分 终点与起点
第25章 设计模式回顾:总结与新起点 283
25.1 概览 283
25.2 面向对象原则的总结 283
25.3 设计模式如何封装实现 284
25.4 共性和可变性分析与设计模式 284
25.5 按责任分解问题域 285
25.6 模式和从背景设计 286
25.7 模式内部的关联 286
25.8 设计模式与敏捷编程实践 288
25.9 实践注记 288
25.10 小结 288
复习题 289
简答题 289
阐述题 289
观点与应用题 289
第26章 参考书目 290
26.1 本书配套网站 290
26.2 推荐阅读 291
26.3 针对Java程序员的推荐读物 292
26.4 针对C++程序员的推荐读物 293
26.5 针对COBOL程序员的推荐读物 294
26.6 极限编程的推荐读物 294
26.7 程序设计的一般性推荐读物 294
26.8 个人推荐 295
《高频电子线路(第4版)》全书共13章,即:绪论,信号分析,选频网络,高频小信号放大器,非线性电路、时变参量电路和变频器,高频
本书由国际著名设计大师EllenLupton出品,是一本以产品案例的展示和分析为主的图文并茂的工业设计类图书。全书篇幅虽然不长,但却
《预防医学实习和学习指导(第2版)》内容简介:本书分为实习和复习思考题两篇。实习篇分为5个部分,即医学统计学实习、流行病学实
《人口老龄化背景下城乡居民基本医疗保险财务可持续性研究》内容简介:本书是国家社会科学基金后期资助项目(18FGL008)系列研究成
日本珠寶學苑編?大場子著日本珠寶學苑是一所專門教授珠寶製作的教育機構,位於世界幾個有名的珠寶商業區域之一~東京上野附近的御
《Mentor高速电路板设计与仿真》以MentorEE2005SP3为基础,以具体电路为范例,详尽讲解元器件建库、原理图设计、布局、布线、仿真
《特战装备大百科(图鉴版)》内容简介:《现代兵器百科图鉴系列:特战装备大百科(图鉴版)》精选了百余种现代特种部队经典作战装
3DSMAX/VRAY印象效果图灯光与色彩的表现附光盘 本书特色 《3ds Max/VRay 印象效果图灯光与色彩的表现》适合有一定基础的3ds Max和VRa...
《百年雀巢》将带领读者纵览雀巢的百年风雨历史,从它的产品、创新、品牌、管理、文化五大方面揭秘了全球食品工业巨人长盛不衰的
《不懂财报就当不好经理》内容简介:随着市场经济的快速发展,无论是企业经营者还是普通职员,读懂财务报表都是一件非常有必要的事
《走近大凉山》内容简介:2011年,为拍摄《长江·天地大纪行》,竹内亮第一次来到大凉山,受限于交通设施,只能肩扛设备,骑驴进山
《朱爱朝二十四节气自然笔记》内容简介:在带领孩子做自然观察和自然笔记的长期课程实践基础上,朱爱朝老师以二十四节气为序,结合
高分辨率遥感影像变化检测 本书特色 这是国内以高分辨遥感影像变化检测为核心,系统阐述相关关键技术的书籍。书中在深入阐述变化检测及相关技术的各种理论的同时,将对*...
《西南联大历史通识课》内容简介:★西南联大博物馆官方认证版 ★1937—2022,西南联大建校85周年纪念 ★大师摇篮,世界教育史上的
Composedofthreesections,thisbookpresentsthemostpopulartrainingalgorithmforneural...
可用性设计是Web设计中最重要也是最困难的一项任务。《点石成金》的作者根据自己多年从业的经验,剖析用户的心理,在用户使用的模
《诗歌课的25个瞬间》内容简介:本书立志于填补童诗教学的盲点,通过引进古诗做参照物,在生活中发现大量童诗写作的题材。此外,本
《设计师摄影指南》是一本“怎样”之书,目的是提高设计师和摄影者的创造能力和技巧与悟性,使设计作品更具独创性。无论你是业余
《突破现实的困境》内容简介:本书讲述了如何采取重大举措提升企业战略的成功概率。本书以几千家企业的“硬数据”为基础,指出哪些
全国专业技术人员计算机应用能力考试考前冲刺WINDOWS XP操作系统 本书特色 《全国专业技术人员计算机应用能力考试考前冲刺:中文Windows XP操作系统...