图书介绍
程序设计的模式语言·卷2PDF|Epub|txt|kindle电子书版本网盘下载
- JOHN M.VLISSIDES JAMES O.COPLIEN NORMAN L.KERTH编;詹文军 周毅等译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302124426
- 出版时间:2006
- 标注页数:503页
- 文件大小:22MB
- 文件页数:525页
- 主题词:程序设计语言学
PDF下载
下载说明
程序设计的模式语言·卷2PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 特定语言的模式与惯用法3
第1章 局部所有权:管理C++中的动态对象3
1.1 摘要3
1.2 介绍3
1.3 术语4
1.4 综述5
1.4.1 局部所有权5
1.4.2 动态对象之外的资源5
1.5 模式1:创建者是惟一所有者5
1.6 模式1.1:函数是惟一所有者6
1.7 模式1.2:对象是惟一所有者7
1.8 模式1.3:类作为惟一所有者9
1.9 模式2:所有者序列10
1.10 模式3:共享所有权12
1.11 相关主题14
1.12 致谢15
1.13 参考文献15
第2章 延迟优化:高效Smalltalk编程模式17
2.1 性能评估19
2.2 延迟优化20
2.3 性能标准22
2.4 阈值开关23
2.5 性能度量24
2.6 热点25
2.7 实验26
2.8 可缓存的表达式27
2.9 缓存临时变量29
2.10 缓存参数30
2.11 缓存状态变量32
2.12 简化34
2.13 削减临时对象35
2.14 对象转换36
2.15 假设一定大小的(Hpyoth-a-sized)集合37
2.16 连接流38
2.17 参考文献40
第3章 将Smalltalk代码划分成ENVY/Developer组件41
3.1 综述41
3.2 模式语言:ENVY划分42
3.3 分层和分区域架构43
3.3.1 独立层45
3.3.2 独立区46
3.4 应用中的层48
3.5 子应用中的区域49
3.6 两个应用51
3.7 没有子应用52
3.8 致谢53
3.9 参考文献53
第2部分 通用模式57
第4章 命令处理器57
参考文献65
第5章 观察者模式的实现模式67
5.1 介绍67
5.2 模式:目标变化的传递67
5.3 模式:每个变化请求一条消息70
5.4 模式:每个受影响对象一条消息71
5.5 反面模式:每个变化请求优化消息72
5.6 模式:消息包73
5.7 模式:观察者更新消息74
5.8 模式:更新观察者75
5.9 参考文献75
第6章 封装类树模式77
6.1 介绍77
6.2 模式背景77
6.3 框架示例79
6.4 类树封装80
6.4.1 类获取81
6.4.2 后创建82
6.5 规范支持84
6.5.1 类子句84
6.5.2 类规范86
6.5.3 类语义87
6.6 与其他模式的关系89
6.7 模式格式90
6.8 小结与结论90
6.9 致谢91
6.10 参考文献91
第7章 代理设计模式回顾93
7.1 摘要93
7.2 例子93
7.3 一般模式94
7.4 上下文94
7.5 问题94
7.6 解决方案94
7.7 结构95
7.8 动态95
7.9 实现96
7.10 第二层模式97
7.10.1 远程代理97
7.10.2 保护代理97
7.10.3 缓存代理97
7.10.4 同步代理98
7.10.5 计数代理98
7.10.6 虚拟代理98
7.10.7 防火墙代理99
7.11 组合代理变形99
7.12 示例的解决方案99
7.13 相关工作100
7.14 精选的已知应用100
7.15 结论101
7.16 同时参阅101
7.17 开放问题102
7.18 致谢102
7.19 参考文献103
第8章 MOODS:状态面向对象设计的模块104
8.1 设计决策树104
8.2 设计决策1:要简化复杂行为,使用分解106
8.3 设计决策2:对于有情绪的对象,使用状态类107
8.3.1 如何跟踪对象变化的情绪109
8.3.2 如何支持情绪敏感(Mood-Sensitive)的方法选择109
8.4 设计决策3:当事件产生情绪时,使用状态机110
8.5 设计决策4:对于状态机,使用转移方法110
8.6 设计决策5:当状态是条件时,使用判断状态类111
8.7 设计决策6:当状态是关联时,使用状态对象112
8.8 设计决策7:对于复杂情绪,使用情绪转换器113
8.9 设计决策8:当有很多情绪时,使用情绪分类器115
8.10 例子中用到的C++源代码117
8.10.1 使用状态对象的分配器117
8.10.2 分配器作为带有判断状态类的转换器120
8.10.3 分配器作为情绪分类器122
8.11 参考文献124
第9章 购物者125
9.1 介绍125
9.2 动机125
9.3 结构126
9.4 适用性127
9.5 参与者127
9.6 协作128
9.7 结论128
9.8 实现129
9.8.1 遍历提供者组129
9.8.2 获取和选择提供者中的被请求项目130
9.9 示例代码130
9.10 相关模式133
9.11 致谢134
9.12 参考文献134
第3部分 专用模式138
第10章 可分离检查器/可删除cout:用于设计透明分层服务的一种结构模式138
10.1 摘要138
10.2 动机138
10.3 解决方案140
10.4 适用性141
10.5 静态和动态结构141
10.5.1 类、责任和协作者142
10.5.2 动态协作者143
10.6 结论143
10.7 实现145
10.8 示例代码与使用146
10.9 已知应用148
10.10 相关模式149
10.10.1 装饰者149
10.10.2 访问者149
10.10.3 独身者149
10.11 注释149
10.12 变形150
10.13 致谢150
10.14 参考文献151
第11章 面向对象超媒体应用的设计模式152
11.1 摘要152
11.2 介绍152
11.3 一种面向对象的超媒体框架153
11.4 NavigationStrategy154
11.5 NavigationObserver158
11.6 结束语162
11.7 致谢162
11.8 参考文献162
第12章 组织复用:用于与分布式团队处理卫星遥测的模式165
12.1 摘要165
12.2 介绍165
12.3 项目组织166
12.4 模式167
12.4.1 模式1:松散接口167
12.4.2 模式2:解释器/构造器168
12.4.3 模式3:工厂等级170
12.4.4 模式4:处理器172
12.5 结论173
12.6 文中引用的模式174
12.6.1 来自“生成开发过程模式语言”[Coplien95]的模式174
12.6.2 来自“设计模式”[Gamma+95]的模式174
12.6.3 来自“早期开发模式”[Beck94]的模式175
12.7 致谢175
12.8 参考文献175
第13章 备份模式:在面向对象的软件中设计冗余176
13.1 摘要176
13.2 目的176
13.3 别名176
13.4 问题与上下文176
13.5 难点177
13.6 难点解决方案177
13.7 动机178
13.8 适用性179
13.9 结构179
13.10 参与者180
13.11 协作181
13.12 结论182
13.13 实现183
13.13.1 创建候选183
13.13.2 候选的独立性184
13.13.3 保持当前候选的状态185
13.13.4 确定正确的功能185
13.13.5 撤销主模块执行产生的影响185
13.13.6 验收测试185
13.14 示例代码与应用187
13.15 已知应用190
13.16 相关模式190
13.17 小结191
13.18 致谢191
13.19 参考文献191
第14章 交叉中断:对象-RDBMS集成的模式语言(静态模式)193
14.1 摘要193
14.2 介绍193
14.3 静态模式(关系方面)194
14.3.1 表的设计时间194
14.3.2 将对象描述成表195
14.3.3 将对象关系描述成表196
14.3.4 在关系数据库中描述继承关系197
14.3.5 在关系数据库中描述集合199
14.3.6 对象标识符(OID)200
14.3.7 外键引用201
14.4 静态模式(对象方面)202
外键与直接引用202
14.5 参考文献203
第15章 事务和账户204
15.1 摘要204
15.2 介绍204
15.3 商业事务206
15.4 将事务处理与存档分开206
15.5 商业账户207
15.6 组合事务208
15.7 调整事务208
15.8 月底结算209
15.9 显式业务规则210
15.10 持续处理211
15.11 致谢212
15.12 参考文献212
第4部分 架构模式216
第16章 软件架构的一些模式216
16.1 摘要216
16.2 软件架构的设计模式216
16.3 架构模式217
16.3.1 流水线218
16.3.2 数据抽象219
16.3.3 通信进程220
16.3.4 隐式调用221
16.3.5 仓库(Repository)222
16.3.6 解释器223
16.3.7 主程序和子例程224
16.3.8 分层架构225
16.4 致谢226
16.5 参考文献227
第17章 反射229
17.1 介绍229
17.2 例子229
17.3 结构232
17.4 动态234
17.5 实现236
17.6 示例解析242
17.7 变形242
17.8 已知应用242
17.9 结论244
17.10 同时参阅246
17.11 参考文献246
第18章 进化、架构和变形248
18.1 摘要248
18.2 介绍248
18.3 软件构造250
18.4 灵活基础253
18.5 变形257
18.6 小结262
18.7 致谢262
18.8 参考文献263
第5部分 过程和组织268
第19章 软件设计中的优先级问题268
19.1 介绍268
19.2 模式1:保护变量270
模式1.1:持久存取器271
19.3 模式2:技能混合272
19.3.1 模式2.1:三个子系统273
19.3.2 模式2.2:通用UI,专用UI274
19.3.3 模式2.3:通用和专用275
19.4 模式3:应用边界275
19.4.1 模式3.1:分解确认276
19.4.2 模式3.2:内部编辑277
19.5 模式4:每团队的子类278
模式4.1:模型层次279
19.6 模式5:正面280
模式5.1:域截取281
19.7 对这种格式的评价281
19.8 参考文献282
第20章 决策延迟和捕捉模式语言283
20.1 介绍283
20.2 综述283
20.3 模式1:基于决策的模型284
20.4 模式2:适当的现存模型285
20.5 模式3:可执行模型286
20.6 模式4:向上的可溯性287
20.7 模式5:向下的变化288
20.8 致谢289
20.9 参考文献289
第21章 团队的组织模式290
21.1 模式语言:团队设计290
21.2 模式1:目标一致291
21.3 模式2:成员关系的多样性292
21.4 模式3:团结起来293
21.5 模式4:团队确认295
21.6 参考文献296
第22章 责任和组织结构297
22.1 介绍297
22.2 组织结构的问题297
22.3 模式综述298
22.4 模型符号299
22.5 模式1:团体301
22.6 模式2:组织的递归结构302
22.7 模式3:子类型中带有约束的抽象模型303
22.8 模式4:多层关联304
22.9 模式5:组织结构类型的关系305
22.10 模式6:关联具体化306
22.11 模式7:类型关系307
22.12 模式8:责任抽象308
22.13 模式9:责任知识等级309
22.14 模式10:将经常变化的结构放到实例中310
22.15 模式11:知识等级311
22.16 致谢312
22.17 参考文献313
第23章 插曲:一种竞争开发模式语言314
23.1 产品316
23.1.1 产品的最初状态316
23.1.2 市场调查317
23.1.3 隐含需求317
23.2 开发318
23.2.1 工作序列318
23.2.2 工作组319
23.2.3 工作序列报表320
23.2.4 比较工作320
23.2.5 完成天数321
23.2.6 开发插曲322
23.2.7 不正规的劳动计划323
23.2.8 工作划分323
23.2.9 再提交会议324
23.3 编程324
23.3.1 需求调查325
23.3.2 技术备忘录325
23.3.3 参考数据325
23.3.4 编程插曲326
23.4 补充模式327
23.5 参考文献328
第6部分 展示330
第24章 课堂教学模式330
24.1 摘要330
24.2 介绍330
24.3 本章要讨论的模式330
24.4 模式1:重复课程开发331
24.5 模式2:鸡和蛋332
24.6 模式3:新旧混合332
24.7 模式4:陷阱诊断和预防333
24.8 模式5:模块的故事334
24.9 模式6:七个部分335
24.10 模式7:显而易见的清单335
24.11 模式8:熟悉的例子336
24.12 模式9:使用一周的例子337
24.13 模式10:参考例子338
24.14 模式11:生动的类比339
24.15 模式12:仿真游戏339
24.16 模式13:测试游戏340
24.17 模式14:活动后听取汇报341
24.18 模式语言342
24.19 参考文献344
第25章 演示准备:用于准备软件演示的一种模式语言345
25.1 介绍345
25.2 模式1:元素识别346
25.3 模式2:催化场景347
25.4 模式3:易变的代码348
25.5 模式4:原型语言349
25.6 模式5:轻量级用户界面350
25.7 模式6:明智的争论351
25.8 模式7:存档场景352
25.9 结论353
25.10 参考文献353
第26章 基于文章的网站使用的一种模式语言354
26.1 A:文本格式模式355
A.1:自然文本流355
A.2:自然文本超链接356
A.3:自然文本目录356
26.2 B:文章格式模式357
B.1:(生动的文章)358
B.2:(低深度文档树)358
B.3:(文档格式一致性)358
B.4:(基于小节的文章)358
B.5:(短小的、单页文章)358
B.6:(一致的页眉和页脚)359
B.7:(介绍性小节)359
B.8:(介绍性图片)359
B.9:(朝向顶部的活动)359
B.10:(文档内容列表)359
B.11:引用项360
B.12:(后一个和前一个引用链接)360
26.3 C:元信息(Meta-Informational)模式360
C.1:揭露内幕361
C.2:(作者小传)361
C.3:(对应日期)361
C.4:(工作表文档)362
C.5:(可下载CGI)362
C.6:(联系作者)362
C.7:(直接文档讨论)362
C.8:新文档通知363
C.9:(变化的文档通知)363
C.10:(临时保留文档版本)363
26.4 D:调制解调器速度慢的模式364
D.1:14.4Kbps测试364
D.2:(少量图片)364
D.3:(隔行扫描的图片)365
D.4:(低位深度图片)365
26.5 E:其他模式365
E.1:(链接类型差别)365
E.2:(主页版本)365
26.6 致谢366
26.7 参考Web站点366
第7部分 并行编程/分布式系统369
第27章 半同步/半异步:高效的、结构完善的并行I/O使用的一种架构模式369
27.1 致谢386
27.2 参考文献386
第28章 资源交换器:低开销并行资源管理的一种行为模式388
28.1 摘要388
28.2 解决方案389
28.3 应用391
28.4 结构391
28.4.1 类、责任和协作者392
28.4.2 动态协作393
28.5 结论393
28.6 实现394
28.7 示例代码和使用395
28.8 已知应用397
28.9 相关模式397
28.10 变形397
28.11 致谢398
28.12 参考文献398
第29章 客户—分配器—服务器设计模式400
参考文献405
第30章 主动对象:并行编程使用的一种对象行为模式406
30.1 摘要406
30.1.1 目的406
30.1.2 别名406
30.1.3 动机406
30.1.4 适用性409
30.1.5 结构及参与者409
30.1.6 协作者410
30.1.7 结论411
30.1.8 实现411
30.1.9 示例代码413
30.1.10 已知应用419
30.1.11 相关模式419
30.2 参考文献420
第31章 为并行程序选择锁定设计422
31.1 摘要422
31.2 例子算法422
31.3 上下文概述423
31.4 难点424
31.5 锁定设计模式索引425
31.5.1 模式关系426
31.5.2 解决难点427
31.5.3 缺陷表428
31.6 锁定设计模式429
31.6.1 串行程序429
31.6.2 代码锁定430
31.6.3 数据锁定432
31.6.4 数据所有权435
31.6.5 并行快捷路径438
31.6.6 读者/写者锁定439
31.6.7 分层锁定441
31.6.8 分配器缓存444
31.6.9 临界区熔合445
31.6.10 临界区划分447
31.7 致谢448
31.8 参考文献449
第8部分 反应性系统453
第32章 反应性系统中面向对象的设计模式453
32.1 介绍453
32.1.1 仿真的重要性453
32.1.2 BASEstar Open454
32.2 模式1:面向对象的仿真,事件驱动的现实455
32.3 模式2:具体化事件457
32.4 模式3:具体化系统状态458
32.5 模式4:远程控制对象460
32.6 模式5:事件驱动461
32.7 总结462
32.8 致谢463
32.9 参考文献463
第33章 容错电信系统模式464
33.1 介绍464
33.2 术语465
33.3 模式:人工干预最小化465
33.4 模式:人最了解467
33.5 模式:无升级消息的5分钟468
33.6 模式:瞬时抑制469
33.7 模式:漏桶计数器470
33.8 模式:SICO首要并总是472
33.9 模式:尝试所有的硬件联合体473
33.10 模式:欺骗一次475
33.11 致谢477
33.12 参考文献477
第34章 利用队列改善交互应用的响应性478
34.1 摘要478
34.2 介绍478
34.3 模式1:事件队列479
34.4 模式2:组合兼容事件480
34.5 模式3:处理人为事件483
34.6 模式4:将执行和输出分离485
34.7 结论486
34.8 致谢486
34.9 参考文献486
第35章 用于改善反应性系统功能的模式语言488
35.1 摘要488
35.2 介绍488
35.3 问题域历史488
35.4 模式语言489
35.5 容量模式490
35.5.1 模式1:容量瓶颈490
35.5.2 模式2:处理容量491
35.5.3 模式3:优化高运行状况493
35.5.4 模式4:分散负载495
35.5.5 模式5:完成处理过程中的工作负载496
35.5.6 模式6:在失效前更新工作负载497
35.5.7 模式7:匹配正在处理的工作负载与新工作负载499
35.5.8 模式8:分担负载500
35.5.9 模式9:在外设分散工作负载501
35.5.10 模式10:信用漏桶501
35.6 致谢503
35.7 参考文献503