图书介绍
软件架构与模式pdf电子书版本下载
- 乔希姆·戈尔著;贾山译 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302450993
- 出版时间:2017
- 标注页数:312页
- 文件大小:111MB
- 文件页数:332页
- 主题词:软件设计-教材
PDF下载
下载说明
软件架构与模式PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 面向对象设计的原理 1
1.1 程序的可读性、正确性和可扩展性 2
1.1.1 可读性 2
1.1.2 正确性 2
1.1.3 可扩展性 3
1.2 封装、抽象和信息隐藏 3
1.3 关注点分离和单一职责原则 4
1.4 接口隔离原则 6
1.5 松耦合 6
1.6 里氏代换原则 7
1.7 契约式设计 9
1.7.1 断言 9
1.7.2 覆写要遵守契约 11
1.8 开闭原则 13
1.9 依赖倒置原则和控制反转 18
1.9.1 依赖倒置原则 18
1.9.2 控制反转 19
1.10 对象生成过程中减少依赖性 21
1.10.1 依赖查找 22
1.10.2 依赖注入 26
1.11 总结 28
1.12 练习 29
第2章 软件架构 30
2.1 软件架构概念 31
2.2 软件架构的质量 32
2.3 参考架构、架构模式和设计模式 33
2.4 软件架构概念的任务和前景 34
2.4.1 系统中的分析任务 34
2.4.2 系统中的结构设计任务 35
2.4.3 观察软件架构的角度 37
2.4.4 软件架构的原型 37
2.5 软件架构师对一个项目的意义 37
2.5.1 软件架构师的技术能力 38
2.5.2 软件架构师的沟通能力 38
2.5.3 构造软件架构过程中的决定 39
2.6 总结 40
2.7 练习 41
第3章 软件设计的模式 42
3.1 模式的使用 43
3.2 模式的属性和它的设计 44
3.3 架构模式、设计模式和惯用法的界限 44
3.4 描述设计模式和架构模式的模板 46
3.5 总结 47
3.6 练习 47
第4章 面向对象设计模式 48
4.1 设计模式的分类 48
4.2 设计模式的概述 49
4.2.1 结构模式 49
4.2.2 行为模式 50
4.2.3 创建型模式 51
4.2.4 设计模式指南 51
4.3 结构模式中的适配器模式 51
4.3.1 名称/其他可用的名称 51
4.3.2 问题 51
4.3.3 解决方法 52
4.3.4 评价 57
4.3.5 使用范围 58
4.3.6 类似的模式 58
4.4 结构模式中的桥梁模式 58
4.4.1 名称/其他可用的名称 58
4.4.2 问题 58
4.4.3 解决方法 59
4.4.4 评价 66
4.4.5 使用范围 67
4.4.6 类似的模式 67
4.5 结构模式中的装饰模式 67
4.5.1 名称/其他可用的名称 67
4.5.2 问题 67
4.5.3 解决方法 68
4.5.4 评价 76
4.5.5 使用范围 77
4.5.6 类似的模式 80
4.6 结构模式中的外观模式 81
4.6.1 名称/其他可用的名称 81
4.6.2 问题 81
4.6.3 解决方法 81
4.6.4 评价 86
4.6.5 使用范围 86
4.6.6 类似的模式 86
4.7 结构模式中的组合模式 87
4.7.1 名称/其他可用的名称 87
4.7.2 问题 87
4.7.3 解决方法 87
4.7.4 评价 95
4.7.5 使用范围 95
4.7.6 类似的模型 97
4.8 结构模式中的代理模式 97
4.8.1 名称/其他可用的名称 97
4.8.2 问题 98
4.8.3 解决方法 98
4.8.4 评价 102
4.8.5 使用范围 102
4.8.6 类似的模式 103
4.9 行为模式中的模板方法模式 104
4.9.1 名称/其他可用的名称 104
4.9.2 问题 104
4.9.3 解决方法 104
4.9.4 使用范围 108
4.9.5 评价 109
4.9.6 类似的模式 109
4.10 行为模式中的命令模式 109
4.10.1 名称/其他可用的名称 109
4.10.2 问题 109
4.10.3 解决方法 110
4.10.4 评价 115
4.10.5 使用范围 116
4.10.6 类似的模式 116
4.11 行为模式中的观察者模式 117
4.11.1 名称/其他可用的名称 117
4.11.2 问题 117
4.11.3 解决方法 117
4.11.4 评价 124
4.11.5 使用范围 124
4.11.6 类似的模式 125
4.12 行为模式中的策略模式 125
4.12.1 名称/其他可用的名称 125
4.12.2 问题 125
4.12.3 解决方法 125
4.12.4 使用范围 129
4.12.5 评价 129
4.12.6 类似的模式 130
4.13 行为模式中的中间者模式 130
4.13.1 名称/其他可用的名称 130
4.13.2 问题 131
4.13.3 解决方法 131
4.13.4 评价 138
4.13.5 使用范围 138
4.13.6 类似的模式 138
4.14 行为模式中的状态模式 139
4.14.1 名称/其他可用的名称 139
4.14.2 问题 139
4.14.3 解决方法 139
4.14.4 使用范围 146
4.14.5 评价 146
4.14.6 类似的模式 146
4.15 行为模式中的角色模式 147
4.15.1 名称/其他可用的名称 147
4.15.2 问题 147
4.15.3 解决方法 148
4.15.4 评价 155
4.15.5 使用范围 155
4.15.6 类似的模式 156
4.16 行为模式中的拜访者模式 156
4.16.1 名称/其他可用的名称 156
4.16.2 问题 156
4.16.3 解决方法 156
4.16.4 评价 169
4.16.5 使用范围 170
4.16.6 类似的模式 171
4.17 行为模式中的迭代器模式 171
4.17.1 名称/其他可用的名称 171
4.17.2 问题 171
4.17.3 解决方法 171
4.17.4 评价 178
4.17.5 使用范围 178
4.17.6 类似的模式 180
4.18 创建型模式中的工厂方法 180
4.18.1 名称/其他可用的名称 180
4.18.2 问题 180
4.18.3 解决方法 181
4.18.4 评价 185
4.18.5 使用范围 185
4.18.6 类似的模式 186
4.19 创建型模式中的抽象工厂模式 186
4.19.1 名称/其他可用的名称 186
4.19.2 问题 186
4.19.3 解决方法 186
4.19.4 评价 195
4.19.5 使用范围 195
4.19.6 类似的模式 196
4.20 创建型模式中的单例模式 196
4.20.1 名称/其他可用的名称 196
4.20.2 问题 196
4.20.3 解决方法 196
4.20.4 评价 204
4.20.5 使用范围 204
4.20.6 类似的模式 204
4.21 创建型模式中的对象池模式 204
4.21.1 名称/其他可用的名称 204
4.21.2 问题 205
4.21.3 解决方法 205
4.21.4 评价 210
4.21.5 使用范围 211
4.21.6 类似的模式 211
4.22 总结 211
4.23 练习 213
第5章 架构模式 216
5.1 分层架构模式 217
5.1.1 名称/其他可用的名称 217
5.1.2 问题 217
5.1.3 解决方法 217
5.1.4 评价 219
5.1.5 使用范围 220
5.1.6 类似的模式 226
5.2 管道和过滤器架构模式 226
5.2.1 名称/其他可用的名称 226
5.2.2 问题 226
5.2.3 解决方法 227
5.2.4 评价 232
5.2.5 使用范围 232
5.2.6 类似的模式 234
5.3 插件架构模式 235
5.3.1 名称/其他可用的名称 235
5.3.2 问题 235
5.3.3 解决方法 235
5.3.4 评价 238
5.3.5 使用范围 239
5.3.6 类似的模式 239
5.3.7 程序例子 240
5.4 中介模式 245
5.4.1 名称/其他可用的名称 245
5.4.2 问题 245
5.4.3 解决方法 246
5.4.4 评价 252
5.4.5 使用范围 252
5.4.6 类似的模式 254
5.4.7 程序例子 255
5.5 面向服务的架构模式 267
5.5.1 名称/其他可用的名称 267
5.5.2 问题 267
5.5.3 解决方法 267
5.5.4 评价 271
5.5.5 使用范围 272
5.5.6 类似的模式 272
5.5.7 SOA的实现 272
5.6 模型-视图-控制器架构模式 291
5.6.1 名称/其他可用的名称 291
5.6.2 问题 291
5.6.3 解决方法 292
5.6.4 评价 299
5.6.5 使用范围 301
5.6.6 类似的模式 301
5.6.7 程序例子 301
5.7 总结 307
5.8 练习 308
参考文献 310