软件设计:Java语言实践马丁P罗毕拉德计算机科学丛书软件设计教学经验Java编程语言面pdf下载pdf下载

软件设计:Java语言实践马丁P罗毕拉德计算机科学丛书软件设计教学经验Java编程语言面百度网盘pdf下载

作者:
简介:本篇主要提供软件设计:Java语言实践马丁P罗毕拉德计算机科学丛书软件设计教学经验Java编程语言面pdf下载
出版社:恒久图书专营店
出版时间:2020-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍



商品参数

软件设计:Java语言实践
            定价 89.00
出版社 机械工业出版社
版次 1
出版时间 2020年09月
开本 16
作者 [加拿大] 马丁·P.罗毕拉德(Martin P. Robillard)
装帧 ping装
页数 252
字数 0
ISBN编码 9787111664024
重量 0


内容介绍

本教材提供了关于软件设计深入的介绍,重点关注面向对象的设计,并使用Java编程语言。目的是通过发掘设计过程中的经验来帮助读者学习软件设计。使用这样一种叙述方式:在上下文中介绍设计知识的每一个元素,并探索不同的解决方案,同时辅以数百个代码片段和设计图。

目录

出版者的话
译者序
前言
第1章 绪论 1
1.1 定义软件设计 3
1.2 软件开发过程中的设计 5
1.3 获取设计知识 6
1.4 共享设计技术 8
1.4.1 设计模式 8
1.4.2 设计反模式 10
小结 10
延伸阅读 11
第2章 封装 12
2.1 封装与信息隐藏 12
2.2 将抽象编码为类型 13
2.3 作用域与可见性限制 16
2.4 对象图 18
2.5 逃逸引用 20
2.5.1 返回指向内部对象的引用 21
2.5.2 在内部存储外部引用 22
2.5.3 通过共享结构泄露引用 22
2.6 不可变性 23
2.7 提供内部数据 25
2.7.1 扩展接口 25
2.7.2 返回副本 26
2.7.3 高#级机制 27
2.8 契约式设计 27
小结 30
代码探索 30
延伸阅读 32
第3章 类型与接口 33
3.1 行为与实现解耦合 33
3.2 指定接口的行为 36
3.3 类图 38
3.4 函数对象 40
3.5 迭代器 43
3.6 ITERATOR设计模式 45
3.7 STRATEGY设计模式 46
3.8 接口分离原则 47
小结 50
代码探索 50
延伸阅读 52
第4章 对象状态 53
4.1 软件系统的静态和动态视图 53
4.2 定义对象状态 54
4.3 状态图 55
4.4 设计对象生命周期 57
4.4.1 无效和无用的状态 58
4.4.2 不必要的状态信息 58
4.5 可空性 59
4.5.1 无须对不存在的值建模 60
4.5.2 对不存在的值建模 61
4.5.3 可选值类型 62
4.5.4 NULL OBJECT设计模式 63
4.6 终#极域和变量 64
4.7 对象身份、相等和唯#一 66
4.8 FLYWEIGHT设计模式 68
4.9 SINGLETON设计模式 71
4.10 嵌套类的对象 72
4.10.1 内部类 72
4.10.2 匿名类 74
小结 75
代码探索 76
延伸阅读 77
第5章 单元测试 78
5.1 单元测试简介 78
5.2 JUnit单元测试框架基础 81
5.3 测试代码的组织 82
5.4 元程序设计 83
5.4.1 内省 84
5.4.2 程序的操作 86
5.4.3 程序元数据 87
5.5 测试构建 88
5.6 测试和异常条件 91
5.7 封装与单元测试 93
5.8 桩测试 95
5.9 测试覆盖 96
5.9.1 语句覆盖 98
5.9.2 分支覆盖 98
5.9.3 路径覆盖 99
小结 99
代码探索 100
延伸阅读 101
第6章 复合 102
6.1 复合与聚合 102
6.2 COMPOSITE设计模式 105
6.3 时序图 109
6.4 DECORATOR设计模式 112
6.5 COMPOSITE与DECORATOR的结合 116
6.6 多态对象复制 118
6.6.1 声明实现Cloneable接口 119
6.6.2 重写Object.clone()方法 120
6.6.3 调用super.clone() 120
6.6.4 捕获CloneN0tSupported-Exception 121
6.6.5 把clone()加入接口 122
6.7 PROTOTYPE设计模式 123
6.8 COMMAND设计模式 124
6.9 迪米特法则 127
小结 128
代码探索 129
延伸阅读 131
第7章 继承 132
7.1 继承的实例 132
7.2 继承和子类 134
7.2.1 向下类型转换 135
7.2.2 单根的类层次结构 136
7.3 继承域 137
7.4 继承方法 139
注解重写方法 143
7.5 重载方法 143
7.6 继承与复合 145
7.7 抽象类 147
7.8 重温DECORATOR设计模式 149
7.9 TEMPLATE METHOD设计模式 151
7.9.1 终#极方法与终#极类 152
7.9.2 抽象方法 153
7.9.3 模式总结 154
7.10 正确使用继承 155
7.10.1 限制基类客户端的行为 155
7.10.2 不适合作子类型的子类 158
小结 159
代码探索 159
延伸阅读 161
第8章 控制流反转 162
8.1 使用控制流反转的动机 162
8.2 模型–视图–控制器分解 164
8.3 OBSERVER设计模式 165
8.3.1 模型和观察者的连接 165
8.3.2 模型和观察者间的控制流 166
8.3.3 模型和观察者间的数据流 168
8.3.4 事件驱动程序设计 170
8.3.5 小结 172
8.4 应用OBSERVER设计模式 173
8.5 图形用户界面开发导论 177
8.6 图形用户界面组件图 178
8.6.1 用户体验视角 178
8.6.2 逻辑视角 179
8.6.3 源代码视角 179
8.6.4 运行时视角 181
8.6.5 定义对象图 181
8.7 事件处理 183
8.8 VISITOR设计模式 186
8.8.1 具体和抽象访问者 188
8.8.2 在类层次结构中集成操作 189
8.8.3 遍历对象图 191
8.8.4 OBSERVER模式中使用继承 194
8.8.5 在访问者结构中支持数据流 196
小结 197
代码探索 198
延伸阅读 200
第9章 函数式设计 201
9.1 一等函数 201
9.2 函数式接口、lambda表达式和方法引用 203
9.2.1 函数式接口 203
9.2.2 lambda表达式 204
9.2.3 方法引用 207
9.3 使用函数复合行为 208
9.4 用函数作数据供给者 212
供给者函数与OBSERVER模式 217
9.5 一等函数和设计模式 218
9.5.1 函数式STRATEGY 218
9.5.2 函数式COMMAND 220
9.6 函数式数据处理 221
9.6.1 数据作为流 222
9.6.2 将高阶函数应用于流 223
9.6.3 过滤流 224
9.6.4 映射数据元素 225
9.6.5 规约流 226
小结 228
代码探索 228
延伸阅读 230
附录A Java程序设计语言的重要概念 231
附录B 代码规范 237
附录C 应用实例 240
参考文献 242