本书从面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式。全书共9章,内容包括设计模式基础、创建型设计模式(共5种)、结构型设计模式(共7种)、行为型设计模式(共11种)、设计模式实验指导。每章包括教学目标、重点内容、模式的定义与特点、模式的结构与实现、模式的应用场景与应用实例、模式的扩展、章节小结和单元习题等8方面的内容。
软件设计中如何提高代码的可复用性、可维护性、健壮性、安全性和可读性。浅显易懂、可视化。采用“任务驱动”的教学方法,根据各种设计模式之间的关系和相似点组织教材目录,对每种模式提出产生背景,并用UML建模语言分析模式的结构,用简单易懂的实例加深学生对该模式的理解。实例都取材于生活,丰富多彩的窗体程序开发
1)近5年在韶关学院主要担任以下课程的教学工作:Java语言程序设计、WIN高级编程、Java设计模式、现代交换技术、WIN环境编程、编译原理、NET体系结构及程序设计、J2EE体系结构及程序设计、UML软件建模。 2)科研情况:2014年6月本人开发“韶关学院网络编程实验平台”获取软件著作权[专利号(登记号):2014SR085854],2015年7月本人开发的“银行网点工作效率分析软件”获取软件著作权[专利号(登记号):2015SR129204];另外2013-2015年主持了“创建型模式下的网络编程实验探索与实践(SYJY20131424)”教学改革研究项目和“JAVA程序设计基础(70302-00039)”网络课程建设项目,以及担任“校园网盘资源管理平台的开发与设计(sycxcy2012—078)”的大学生创新创业训练计划项目的指导工作。 3)教材出版情况:2015年担任教材《Java语言程序设计》(ISBN:9787562348276、华南理工大学出版社)的第二副主编,2016年担任《Java面向对象程序设计》(ISBN:9787564740634、电子科技大学出版社)的第一主编。 4)2012-2014年指导学生参加“蓝桥杯”全国软件设计大赛、第七届至第九届全国信息技术应用水平大赛、第六届中国大学生计算机设计大赛中获取过全国二等奖、全国三等奖以及省一二三等奖等。
目录
第 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