软件设计模式(Java版)

面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式
分享 推荐 1 收藏 0 阅读 1.8K
程细柱 (作者) 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年指导学生参加“蓝桥杯”全国软件设计大赛、第七届至第九届全国信息技术应用水平大赛、第六届中国大学生计算机设计大赛中获取过全国二等奖、全国三等奖以及省一二三等奖等。

推荐用户

相关图书

  • 软件测试技术实战教程 敏捷、Selenium与Jmeter(微课版)

    北京威链优创科技有限公司

    本书是《软件测试技术基础教程 理论、方法与工具》的姐妹篇,《软件测试技术基础教程 理论、方法与工具》详细介绍软...

    ¥49.80
  • MATLAB基础与应用教程(第2版)

    刘卫国 蔡立燕

    本书是在第1版的基础上修订改写而成。全书结合科学计算与工程应用的需要,从实用角度出发,通过大量的算法实现和典型...

    ¥59.80
  • Java高级程序设计实战教程

    戴远泉 李超 董慧慧 麦琪琳

    本书是在读者初步掌握Java的基础知识和技能之后,进一步学习Java高级编程的指导用书。主要内容包括Java编...

    ¥46.00
  • Python基础教程(第2版)

    王欣 王文兵

    Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,是最受欢迎的程序设计语言之一。Python...

    ¥49.80
  • 软件测试管理与实践

    赵聚雪 杨鹏

    本书较为全面地介绍了软件测试的相关理论和工具,内容翔实,可操作性强,简明易懂。本书从实用角度出发,重点培养学生...

    ¥39.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部