《程序设计模式语言 卷5》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)DragosManolescu,MarkusVoelter,JamesNoble著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302200178
  • 页数:424 页
图书介绍:设计模式已经进入专业软件开发的主流,成为改善软件工程、系统设计、开发以及相关建立者之间交流质量的高效方法。模式捕获很多软件设计中的优秀经验,并使所有软件工程师都可以使用。

第Ⅰ部分 设计模式第1章 动态对象模型 3

1.1 目的 3

1.2 别名 3

1.3 动机 3

1.4 问题 6

1.5 解决方案结构 6

1.6 优缺点 8

1.6.1 简明性 8

1.6.2 灵活性 8

1.6.3 最终用户配置 9

1.6.4 编程环境 9

1.6.5 动态行为 10

1.6.6 运行时输入 10

1.6.7 可移植性 10

1.7 扩展 10

1.8 实现 11

1.9 示例代码 12

1.10 已知应用 17

1.11 相关模式 18

1.12 致谢 19

1.13 参考文献 19

第2章 域对象管理器 21

2.1 目的 21

2.2 别名 21

2.3 动机 21

2.4 可应用性 24

2.5 结构 24

2.6 组成 25

2.7 协作 25

2.8 结果 26

2.9 实现 27

2.10 示例代码 29

2.11 已知应用 33

2.12 相关模式 33

2.13 致谢 35

2.14 参考文献 35

第3章 封装上下文 37

3.1 受众 37

3.2 示例 37

3.3 问题 40

3.4 限制条件 40

3.4.1 可替换性 41

3.4.2 封装 41

3.4.3 耦合到环境 41

3.4.4 避免数据复制 42

3.5 解决方案 42

3.6 实现 43

3.7 最终解决方案 44

3.8 变体 46

3.9 结果 47

3.9.1 可替换性 47

3.9.2 封装 47

3.9.3 耦合到环境 47

3.9.4 避免数据复制 47

3.9.5 推理 47

3.9.6 实例化 48

3.9.7 整洁的代码 48

3.9.8 同步点 48

3.9.9 测试 48

3.9.10 Blob趋势 48

3.9.11 隐藏的全局变量 49

3.9.12 主要成员 49

3.10 已知应用 49

3.10.1 Chutney Technologies Apptimizer(C++) 49

3.10.2 Reuters Liffe Connect Data Router(C++) 49

3.10.3 Jiffy(Parthenon计算)XML数据库服务器(C++) 50

3.10.4 Enterprise Java Beans 50

3.10.5 Interpreter模式示例 50

3.11 相关模式 50

3.12 更多示例 52

3.13 小结 52

3.14 致谢 52

3.15 参考文献 52

第Ⅱ部分 并发、网络与实时模式第4章 用于高效、可预测及可伸缩的调度组件的模式语言 57

4.1 介绍 57

4.2 调度组件与模式语言的概述 58

4.3 用于调度组件的模式语言 61

4.3.1 对单一对象的调度 61

4.3.2 对多对象的调度 66

4.4 结束语 69

4.5 参考文献 70

第5章 3T——硬实时系统中用于可靠通信的模式系统 73

5.1 简介 73

5.1.1 运行示例:线控制动 74

5.1.2 模式概述 74

5.2 提前计划的周期性传输 76

5.2.1 上下文 76

5.2.2 示例 76

5.2.3 问题 77

5.2.4 解决方案 78

5.2.5 实现 79

5.2.6 运行时示例分解 80

5.2.7 结果 81

5.2.8 已知应用 82

5.2.9 相关模式 83

5.3 时间触发时钟同步 83

5.3.1 上下文 83

5.3.2 问题 83

5.3.3 示例 83

5.3.4 解决方案 84

5.3.5 实现 84

5.3.6 结果 85

5.3.7 已知应用 85

5.3.8v相关模式 85

5.4 同步帧 85

5.4.1 上下文 85

5.4.2 问题 86

5.4.3 示例 86

5.4.4 解决方案 86

5.4.5 实现 87

5.4.6 分解的运行示例 88

5.4.7 结果 88

5.4.8 已知应用 89

5.4.9 相关模式 89

5.5 总线守护 89

5.5.1 上下文 89

5.5.2 问题 90

5.5.3 示例 90

5.5.4 解决方案 90

5.5.5 实现 91

5.5.6 分解的运行示例 92

5.5.7 结果 92

5.5.8 已知应用 92

5.5.9 相关模式 92

5.6 临时应用程序解耦 92

5.6.1 上下文 92

5.6.2 问题 93

5.6.3 示例 93

5.6.4 解决方案 93

5.6.5 实现 94

5.6.6 结果 95

5.6.7 已知应用 95

5.6.8 相关模式 96

5.7 致谢 96

5.8 附录 96

5.8.1 术语 96

5.8.2 已知应用 97

5.9 参考文献 99

第6章 实时和资源超载语言 101

6.1 介绍 101

6.2 语言图 103

6.3 语言上下文 104

模式1 超载帝国 105

模式2 灾难性通知 106

模式3 重新评估过载决定 108

模式4 如果工作很好,不要修改 110

模式5 屏蔽分流工作优先权 111

模式6 资源排队 113

模式7 过载弹性 114

模式8 合理的资源分配 115

6.4 以前发布的模式 116

6.5 致谢 117

6.6 图像来源 118

6.6.1 引入模式的图像 118

6.6.2 其他图像 118

6.7 参考文献 118

第Ⅲ部分 分布式系统第7章 分散锁定 123

7.1 介绍 123

7.2 别名 123

7.3 示例 123

7.4 上下文 124

7.5 问题 124

7.6 解决方案 124

7.7 结构 125

7.8 动态 125

7.9 实现 128

步骤1 128

步骤2 128

步骤3 129

步骤4 129

步骤5 130

7.10 示例分解 130

7.11 变体 131

7.12 已知应用 131

7.13 结果 132

7.14 相关模式 132

7.15 致谢 133

7.16 参考文献 133

第8章 比较模式:使用专门值简化身份测试 135

8.1 简介 135

8.2 示例 135

8.3 上下文 136

8.4 问题 136

8.5 解决方案 138

8.6 实现 139

8.6.1 “正确的”比较语义 139

8.6.2 对克隆的比较 139

8.6.3 哪些类可相互比较 140

8.6.4 给定系统的限制条件 141

8.6.5 重用已有的属性 141

8.6.6 执行比较操作 142

8.6.7 分布式环境中的比较字符 142

8.6.8 模糊比较字符 143

8.6.9 复合比较字符 143

8.6.10 计算比较字符 145

8.6.11 协同比较字符 145

8.7 结果 145

8.8 已知应用 146

8.8.1 JPDA 146

8.8.2 远程方法请求 146

8.8.3 CORBA关系服务 147

8.8.4 Enterprise Java Beans 147

8.8.5 Ginko 147

8.9 相关模式 148

8.10 结论 148

8.11 致谢 148

8.12 参考文献 149

第9章 服务发现的模式语言 151

9.1 模式 152

模式1 询问本地网络 152

模式2 覆盖网络 153

模式3 侦听广告 154

模式4 使用广告主 155

模式5 查阅目录 156

模式6 目录中的服务注册 157

模式7 目录发现服务 158

模式8 结合目录与组织 159

模式9 动态放置目录 160

模式10 从位置中分离标识 160

模式11 客户知道最好的 162

模式12 服务完成繁重工作 163

9.2 结合模式:以SLP为例 163

9.3 致谢 165

9.4 参考文献 165

第Ⅳ部分 特定于域的模式第10章 MoRaR:移动与无线资源管理的模式语言 169

10.1 介绍 169

10.2 移动无线系统:体系结构概念 170

10.3 MoRaR模式语言 172

10.4 移动管理功能的相关模式 175

10.4.1 临时标识 175

10.4.2 安全数据库 177

10.4.3 加密 178

10.4.4 认证 180

10.4.5 分页 182

10.4.6 主数据库与访问数据库 183

10.4.7 位置注册 185

10.5 无线资源管理模式 186

10.5.1 切换决定 187

10.5.2 锚实体 188

10.5.3 系统间切换执行 190

10.5.4 切换失败措施 191

10.5.5 释放资源 192

10.6 结论 192

10.7 致谢 193

10.8 参考文献 194

10.9 附录 196

第11章 Web上的内容转换与生成:模式语言 199

11.1 介绍 199

11.1.1 目标受众 200

11.1.2 表单上的注释 200

11.2 模式语言回顾 201

11.3 Web上转换和生成内容的模式 203

11.3.1 通用内容格式 203

11.3.2 发布者与收集者 206

11.3.3 内容转换器 209

11.3.4 内容创建器 212

11.3.5 内容格式模板 214

11.3.6 片段 216

11.3.7 内容缓存 220

11.4 Java中的实现示例 222

11.5 已知应用与相关工作 225

11.6 结论 227

11.7 致谢 228

11.8 参考文献 229

第Ⅴ部分 体系结构模式第12章 插件模式 233

12.1 组件的插件特色 234

12.2 示例 234

12.3 已知应用 235

12.4 路线图 235

12.5 插件 236

12.5.1 上下文 236

12.5.2 问题 236

12.5.3 限制条件 237

12.5.4 解决方案 237

12.5.5 术语 237

12.5.6 结果 237

12.5.7 实现 238

12.5.8 组织问题 238

12.5.9 已知应用 238

12.5.10 示例 239

12.5.11 相关模式 239

12.6 插件协议 240

12.6.1 上下文 240

12.6.2 问题 240

12.6.3 限制条件 240

12.6.4 解决方案 240

12.6.5 结果 241

12.6.6 实现 242

12.6.7 变量 242

12.6.8 示例 242

12.6.9 已知应用 243

12.6.10 相关模式 243

12.7 提供框架的应用程序 244

12.7.1 别名 244

12.7.2 上下文 244

12.7.3 问题 244

12.7.4 限制条件 244

12.7.5 解决方案 244

12.7.6 结果 244

12.7.7 实现 245

12.7.8 变量 245

12.7.9 示例 245

12.7.10 已知应用 245

12.7.11 相关模式 246

12.8 插件注册 246

12.8.1 上下文 246

12.8.2 问题 246

12.8.3 限制条件 246

12.8.4 解决方案 247

12.8.5 结果 247

12.8.6 实现 247

12.8.7 变量 247

12.8.8 示例 248

12.8.9 已知应用 248

12.8.10 相关模式 248

12.9 插件生命周期 248

12.9.1 上下文 248

12.9.2 问题 248

12.9.3 限制条件 248

12.9.4 解决方案 249

12.9.5 结果 249

12.9.6 实现 249

12.9.7 变量 249

12.9.8 示例 250

12.9.9 已知应用 250

12.9.10 相关模式 250

12.10 插件包 251

12.10.1 上下文 251

12.10.2 问题 251

12.10.3 限制条件 251

12.10.4 解决方案 251

12.10.5 结果 252

12.10.6 实现 252

12.10.7 示例 252

12.10.8 已知应用 252

12.10.9 相关模式 253

12.11 协作插件 253

12.11.1 别名 253

12.11.2 上下文 253

12.11.3 问题 253

12.11.4 限制条件 253

12.11.5 解决方案 253

12.11.6 结果 254

12.11.7 实现 254

12.11.8 示例 254

12.11.9 已知应用 254

12.11.10 相关模式 254

12.12 基于插件的产品 255

12.12.1 上下文 255

12.12.2 问题 255

12.12.3 限制条件 255

12.12.4 解决方案 255

12.12.5 结果 255

12.12.6 实现 256

12.12.7 组织问题 256

12.12.8 示例 257

12.12.9 已知应用 257

12.12.10 相关模式 257

12.13 致谢 257

12.14 参考文献 257

第13章 网格体系结构模式:影响分布式处理能力 259

13.1 目的 259

13.2 示例 259

13.3 上下文 260

13.4 问题 260

13.5 解决方案 261

13.6 结构 261

13.7 动态过程 263

13.8 实现 264

13.9 已知应用 267

13.10 结果 268

13.11 相关模式 269

13.12 致谢 270

13.13 参考文献 270

第14章 组件和语言集成的模式 273

14.1 介绍 273

14.1.1 软件集成 273

14.1.2 模式语言轮廓 274

14.2 组件和语言集成的模式 276

14.2.1 命令语言 276

14.2.2 组件打包器 281

14.2.3 对象系统层 285

14.2.4 自动类型转换器 288

14.2.5 分离对象 291

14.3 已知应用与技术投射 294

14.3.1 文件档案系统再设计 294

14.3.2 MHP产品线的硬件选择 295

14.3.3 TclCL和XOTcl/SWIG 297

14.3.4 用SPLIT OBJECT配置外观 298

14.3.5 语义查找服务 300

14.3.6 Apache Axis 303

14.4 结论 303

14.5 致谢 304

14.6 参考文献 304

第15章 成功框架开发的模式 307

15.1 介绍 307

15.2 项目背景 307

15.2.1 数据访问层框架 308

15.2.2 Web门户网站框架 308

15.3 路线图 309

模式1 重用的具体证据 309

模式2 简明的优点 312

模式3 技能小组 314

模式4 试点应用程序 315

模式5 小对象 317

模式6 基于试点的测试 319

模式7 框架用户参与 321

模式8 多变更请求 323

15.4 结论 324

15.5 致谢 325

15.6 参考文献 325

第Ⅵ部分 元模式第16章 高级模式编写 329

16.1 简介 329

16.2 现有的工作 330

16.3 “What”解决方案 332

16.4 “How”过程 333

16.5 “Why”问题 335

16.6 Dead Weasels 336

16.7 解决方案中的限制条件提示 337

16.8 一致“Who” 339

16.9 指向细节的指针 340

16.10 致谢 342

16.11 参考文献 342

第17章 语言设计者的模式语言 343

17.1 介绍 343

17.1.1 LDPL基础 343

17.1.2 LDPL中应用的示例 346

17.2 模式语言 347

17.2.1 局部修复 349

17.2.2 限制条件的群集 353

17.2.3 局部对称 356

17.2.4 限制条件的分解 362

17.2.5 比例的层次 364

17.2.6 交叉连接 367

17.2.7 区别 370

17.2.8 聚合 372

17.2.9 共同点 374

17.2.10 空隙 376

17.3 结论 378

17.4 参考文献 378

第18章 审阅语言 383

18.1 设置环境 383

18.2 三次迭代 385

18.3 审阅者了解被审阅者 387

18.4 半片面包 388

18.5 主体情况 389

18.6 作者为主 390

18.7 匹配问题与解决方案 391

18.8 令人信服的解决方案(“啊”效果) 392

18.9 限制条件定义问题 393

18.10 平衡上下文 395

18.11 战争故事 396

18.12 形式服从功能 397

18.13 小模式 398

18.14 结束语 399

18.15 致谢 399

18.16 参考文献 399

第19章 草原式住宅模式 401

19.1 在草原上 401

19.1.1 眺望所和庇护所 402

19.1.2 Hildebrand的本质特征 403

19.1.3 Alexanderian的说明 403

19.1.4 作者的注解 404

19.2 形式服从优势特性 405

19.3 眺望所与庇护所 407

19.4 锚一样的烟囱 408

19.5 悬桁平台 410

19.6 带状窗户 411

19.7 庇护所一样的壁炉 412

19.8 眺望视角 413

19.9 隐藏的垂线 414

19.10 迂回的路径 415

19.11 评价与结论 416

19.12 致谢 417

19.13 参考文献 417

作者介绍 419