程细柱编著的《软件设计模式》从面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式。全书共9章,内容包括设计模式基础、创建型设计模式(共5种)、结构型设计模式(共7种)、行为型设计模式(共11种)、设计模式实验指导。每章包括教学目标、重点内容、模式的定义与特点、模式的结构与实现、模式的应用场景与应用实例、模式的扩展、章节小结和单元习题等8方面的内容。
本书可作为高等院校计算机科学与技术、软件工程、信息系统与信息管理、电子商务等专业的程序设计类课程的教材,也可作为软件开发者的自学用书。
目录
- 第1章 设计模式基础 1
- 1.1 软件设计模式概述 1
- 1.1.1 软件设计模式的产生背景 1
- 1.1.2 软件设计模式的概念与意义 2
- 1.1.3 软件设计模式的基本要素 2
- 1.1.4 GoF的23种设计模式简介 3
- 1.2 UML中的类图 5
- 1.2.1 统一建模语言简介 5
- 1.2.2 类、接口和类图 5
- 1.2.3 类之间的关系 6
- 1.3 面向对象的设计原则 9
- 1.3.1 开闭原则 9
- 1.3.2 里氏替换原则 10
- 1.3.3 依赖倒置原则 13
- 1.3.4 单一职责原则 16
- 1.3.5 接口隔离原则 17
- 1.3.6 迪米特法则 20
- 1.3.7 合成复用原则 23
- 1.3.8 七种设计原则的要点 25
- 1.5 习题 25
- 第 2章 创建型模式(上) 28
- 2.1 创建型模式概述 28
- 2.2 单例模式 28
- 2.2.1 模式的定义与特点 29
- 2.2.2 模式的结构与实现 29
- 2.2.3 模式的应用实例 30
- 2.2.4 模式的应用场景 34
- 2.2.5 模式的扩展 34
- 2.3 原型模式 34
- 2.3.1 模式的定义与特点 34
- 2.3.2 模式的结构与实现 35
- 2.3.3 模式的应用实例 36
- 2.3.4 模式的应用场景 39
- 2.3.5 模式的扩展 39
- 2.5 习题 43
- 第3章 创建型模式(下) 46
- 3.1 工厂方法模式 46
- 3.1.1 模式的定义与特点 46
- 3.1.2 模式的结构与实现 46
- 3.1.3 模式的应用实例 50
- 3.1.4 模式的应用场景 54
- 3.1.5 模式的扩展 54
- 3.2 抽象工厂模式 54
- 3.2.1 模式的定义与特点 55
- 3.2.2 模式的结构与实现 55
- 3.2.3 模式的应用实例 57
- 3.2.4 模式的应用场景 62
- 3.2.5 模式的扩展 63
- 3.3 建造者模式 63
- 3.3.1 模式的定义与特点 63
- 3.3.2 模式的结构与实现 63
- 3.3.3 模式的应用实例 66
- 3.3.4 模式的应用场景 69
- 3.3.5 模式的扩展 70
- 3.5 习题 70
- 第4章 结构型模式(上) 73
- 4.1 结构型模式概述 73
- 4.2 代理模式 73
- 4.2.1 模式的定义与特点 74
- 4.2.2 模式的结构与实现 74
- 4.2.3 模式的应用实例 76
- 4.2.4 模式的应用场景 78
- 4.2.5 模式的扩展 78
- 4.3 适配器模式 79
- 4.3.1 模式的定义与特点 79
- 4.3.2 模式的结构与实现 80
- 4.3.3 模式的应用实例 82
- 4.3.4 模式的应用场景 85
- 4.3.5 模式的扩展 85
- 4.4 桥接模式 87
- 4.4.1 模式的定义与特点 87
- 4.4.2 模式的结构与实现 87
- 4.4.3 模式的应用实例 89
- 4.4.4 模式的应用场景 94
- 4.4.5 模式的扩展 94
- 4.6 习题 95
- 第5章 结构型模式(下) 99
- 5.1 装饰模式 99
- 5.1.1 模式的定义与特点 99
- 5.1.2 模式的结构与实现 99
- 5.1.3 模式的应用实例 102
- 5.1.4 模式的应用场景 105
- 5.1.5 模式的扩展 105
- 5.2 外观模式 107
- 5.2.1 模式的定义与特点 107
- 5.2.2 模式的结构与实现 108
- 5.2.3 模式的应用实例 109
- 5.2.4 模式的应用场景 114
- 5.2.5 模式的扩展 114
- 5.3 享元模式 115
- 5.3.1 模式的定义与特点 115
- 5.3.2 模式的结构与实现 115
- 5.3.3 模式的应用实例 118
- 5.3.4 模式的应用场景 122
- 5.3.5 模式的扩展 122
- 5.4 组合模式 123
- 5.4.1 模式的定义与特点 123
- 5.4.2 模式的结构与实现 123
- 5.4.3 模式的应用实例 127
- 5.4.4 模式的应用场景 131
- 5.4.5 模式的扩展 131
- 4.6 习题 131
- 第6章 行为型模式(上) 137
- 6.1 行为型模式概述 137
- 6.2 模板方法模式 138
- 6.2.1 模式的定义与特点 138
- 6.2.2 模式的结构与实现 138
- 6.2.3 模式的应用实例 140
- 6.2.4 模式的应用场景 144
- 6.2.5 模式的扩展 144
- 6.3 策略模式 146
- 6.3.1 模式的定义与特点 146
- 6.3.2 模式的结构与实现 146
- 6.3.3 模式的应用实例 148
- 6.3.4 模式的应用场景 152
- 6.3.5 模式的扩展 152
- 6.4 命令模式 153
- 6.4.1 模式的定义与特点 153
- 6.4.2 模式的结构与实现 153
- 6.4.3 模式的应用实例 156
- 6.4.4 模式的应用场景 160
- 6.4.5 模式的扩展 160
- 6.6 习题 163
- 第7章 行为型模式(中) 166
- 7.1 职责链模式 166
- 7.1.1 模式的定义与特点 166
- 7.1.2 模式的结构与实现 167
- 7.1.3 模式的应用实例 169
- 7.1.4 模式的应用场景 172
- 7.1.5 模式的扩展 172
- 7.2 状态模式 173
- 7.2.1 模式的定义与特点 173
- 7.2.2 模式的结构与实现 173
- 7.2.3 模式的应用实例 175
- 7.2.4 模式的应用场景 184
- 7.2.5 模式的扩展 184
- 7.3 观察者模式 186
- 7.3.1 模式的定义与特点 186
- 7.3.2 模式的结构与实现 187
- 7.3.3 模式的应用实例 189
- 7.3.4 模式的应用场景 195
- 7.3.5 模式的扩展 195
- 7.4 中介者模式 197
- 7.4.1 模式的定义与特点 198
- 7.4.2 模式的结构与实现 198
- 7.4.3 模式的应用实例 201
- 7.4.4 模式的应用场景 205
- 7.4.5 模式的扩展 205
- 7.6 习题 208
- 第8章 行为型模式(下) 211
- 8.1 迭代器模式 211
- 8.1.1 模式的定义与特点 211
- 8.1.2 模式的结构与实现 212
- 8.1.3 模式的应用实例 214
- 8.1.4 模式的应用场景 219
- 8.1.5 模式的扩展 220
- 8.2 访问者模式 220
- 8.2.1 模式的定义与特点 221
- 8.2.2 模式的结构与实现 221
- 8.2.3 模式的应用实例 224
- 8.2.4 模式的应用场景 229
- 8.2.5 模式的扩展 229
- 8.3 备忘录模式 229
- 8.3.1 模式的定义与特点 230
- 8.3.2 模式的结构与实现 230
- 8.3.3 模式的应用实例 232
- 8.3.4 模式的应用场景 237
- 8.3.5 模式的扩展 237
- 8.4 解释器模式 239
- 8.4.1 模式的定义与特点 239
- 8.4.2 模式的结构与实现 239
- 8.4.3 模式的应用实例 242
- 8.4.4 模式的应用场景 244
- 8.4.5 模式的扩展 244
- 8.6 习题 245
- 第9章 设计模式实验指导 248
- 9.1 Umlet的使用与类图的设计 248
- 9.1.1 实验目的 248
- 9.1.2 实验原理 248
- 9.1.3 实验内容 251
- 9.1.4 实验要求 251
- 9.1.5 实验步骤 251
- 9.2 创建型模式应用实验 252
- 9.2.1 实验目的 252
- 9.2.2 实验原理 252
- 9.2.3 实验内容 253
- 9.2.4 实验要求 253
- 9.2.5 实验步骤 254
- 9.3 结构型模式应用实验 257
- 9.3.1 实验目的 258
- 9.3.2 实验原理 258
- 9.3.3 实验内容 259
- 9.3.4 实验要求 259
- 9.3.5 实验步骤 259
- 9.4 行为型模式应用实验 261
- 9.4.1 实验目的 261
- 9.4.2 实验原理 262
- 9.4.3 实验内容 263
- 9.4.4 实验要求 263
-
9.4.5 实验步骤 263