首页 > 图书中心 > 软件架构与模式

目录

目    录

第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

  

  

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘