软件设计模式(Java版)

面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式
分享 推荐 3 收藏 57 阅读 15.2K
程细柱 (作者) 978-7-115-47788-0

关于本书的内容有任何问题,请联系 张斌

软件设计中如何提高代码的可复用性、可维护性、健壮性、安全性和可读性。浅显易懂、可视化。采用“任务驱动”的教学方法,根据各种设计模式之间的关系和相似点组织教材目录,对每种模式提出产生背景,并用UML建模语言分析模式的结构,用简单易懂的实例加深学生对该模式的理解。实例都取材于生活,丰富多彩的窗体程序开发

内容摘要

本书从面向对象程序设计的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

读者评论

  • 《软件设计模式(Java版)》(ISBN:978-7-115-47788-0,人民邮电出版社)是一本好书,它是软件开发者的必备工具书,也是计算机相关专业必选的教学用书。其中包含了电子课件PPT、程序源代码和各章的习题答案等相关教学资源。

    红尘笠翁发表于 2018/5/29 16:04:26

我要评论

作者介绍

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年指导学生参加“蓝桥杯”全国软件设计大赛、第七届至第九届全国信息技术应用水平大赛、第六届中国大学生计算机设计大赛中获取过全国二等奖、全国三等奖以及省一二三等奖等。

推荐用户

相关图书

  • 软件需求分析(微课版)

    李美蓉 何中海

    本书面向高素质复合型新工科人才培养,以强化学生软件需求分析能力为核心目标,从软件需求定义讲到分析方法,再讲到结...

    ¥59.80
  • 软件工程——理论与实践(附微课视频 第3版)

    吕云翔

    本书按照典型的软件开发过程来组织内容,旨在培养读者具备软件工程思想及实际软件开发的能力。本书共分为14章,内容...

    ¥69.80
  • 软件工程专业英语(第2版)

    宋晓涛

    本书以计算机技术发展的新热点为主要内容,介绍了移动计算机、软件工程及其再工程、主存数据库、网络与安全、人工智能...

    ¥59.80
  • 实用软件工程(附微课视频 第3版)

    吕云翔

    本书按照典型的软件开发过程组织和编写内容,旨在培养读者具备软件工程思想及实际软件开发的能力。全书共11章, 内...

    ¥69.80
  • 软件工程原理与方法(微课版)

    张爽

    随着信息技术的发展,软件已经深入到人类社会生产和生活的各个方面。软件工程是软件开发经验总结的理论课程,具有很强...

    ¥69.80
人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部