网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 程序设计的模式语言(卷2)
分类
作者 (美)维利斯德斯//科普林//科兹
出版社 清华大学出版社
下载
简介
编辑推荐

本卷是面向专业软件开发者模式系列的第二本书籍。其中介绍的模式可以用于解决在软件设计和开发中经常会遇到的许多问题,包括了面向语言的模式和惯例、通用和专用目的的模式、体系结构模式、处理或者组织模式、解释型模式;以及面向并行编程、分布式系统和反应性系统的模式。本卷中收集的新模式不仅揭示了高级软件开发的秘密,也使得这些秘密易于应用到读者实际的工作中。

内容推荐

一种思想就仿佛风中的一粒种子:种子在落地、生根、开始成长之前并没有多大意义。模式(pattern)的思想在软件领域出现20年了,并已经最终落地和开始结果了。1994年编程模式语言会议(Pattern Languages on Programming conference,PLoP94)作为关于软件模式的第一次会议标志着软件模式活动的萌芽。接下来的一年中我们看到了含有大量模式文章的几本模式著作、杂志的出版,模式已经成为有关软件工程和面向对象技术的会议的主流内容。

目录

第1部分 特定语言的模式与惯用法

第1章 局部所有权: 管理C++中的

动态对象

1.1摘要

1.2介绍

1.3术语

1.4综述

1.4.1局部所有权

1.4.2动态对象之外的资源

1.5模式1: 创建者是惟一所有者

1.6模式1.1: 函数是惟一所有者

1.7模式1.2: 对象是惟一所有者

1.8模式1.3: 类作为惟一所有者

1.9模式2: 所有者序列

1.10模式3: 共享所有权

1.11相关主题

1.12致谢

1.13参考文献

第2章 延迟优化: 高效Smalltalk

编程模式

2.1性能评估

2.2延迟优化

2.3性能标准

2.4阈值开关

2.5性能度量

2.6热点

2.7实验

2.8可缓存的表达式

2.9缓存临时变量

2.10缓存参数

2.11缓存状态变量

2.12简化

2.13削减临时对象

2.14对象转换

2.15假设一定大小的(Hpyothasized)

集合

2.16连接流

2.17参考文献

第3章 将Smalltalk代码划分成ENVY/

Developer组件

3.1综述

3.2模式语言: ENVY划分

3.3分层和分区域架构

3.3.1独立层

3.3.2独立区

3.4应用中的层

3.5子应用中的区域

3.6两个应用

3.7没有子应用

3.8致谢

3.9参考文献

第2部分 通用模式

第4章 命令处理器

参考文献

第5章 观察者模式的实现模式

5.1介绍

5.2模式: 目标变化的传递

5.3模式: 每个变化请求一条消息

5.4模式: 每个受影响对象一条消息

5.5反面模式: 每个变化请求

优化消息

5.6模式: 消息包

5.7模式: 观察者更新消息

5.8模式: 更新观察者

5.9参考文献

第6章 封装类树模式

6.1介绍

6.2模式背景

6.3框架示例

6.4类树封装

6.4.1类获取

6.4.2后创建

6.5规范支持

6.5.1类子句

6.5.2类规范

6.5.3类语义

6.6与其他模式的关系

6.7模式格式

6.8小结与结论

6.9致谢

6.10参考文献

第7章 代理设计模式回顾

7.1摘要

7.2例子

7.3一般模式

7.4上下文

7.5问题

7.6解决方案

7.7结构

7.8动态

7.9实现

7.10第二层模式

7.10.1远程代理

7.10.2保护代理

7.10.3缓存代理

7.10.4同步代理

7.10.5计数代理

7.10.6虚拟代理

7.10.7防火墙代理

7.11组合代理变形

7.12示例的解决方案

7.13相关工作

7.14精选的已知应用

7.15结论

7.16同时参阅

7.17开放问题

7.18致谢

7.19参考文献

第8章 MOODS: 状态面向对象设计

的模块

8.1设计决策树

8.2设计决策1: 要简化复杂行为,

使用分解

8.3设计决策2: 对于有情绪的对象,

使用状态类

8.3.1如何跟踪对象变化的

情绪

8.3.2如何支持情绪敏感(MoodSensitive)

的方法选择

8.4设计决策3: 当事件产生情绪时,使用

状态机

8.5设计决策4: 对于状态机,

使用转移方法

8.6设计决策5: 当状态是条件时,使用

判断状态类

8.7设计决策6: 当状态是关联时,使用

状态对象

8.8设计决策7: 对于复杂情绪,使用

情绪转换器

8.9设计决策8: 当有很多情绪时,使用

情绪分类器

8.10例子中用到的C++源代码

8.10.1使用状态对象的

分配器

8.10.2分配器作为带有判断状态

类的转换器

8.10.3分配器作为情绪

分类器

8.11参考文献

第9章 购物者

9.1介绍

9.2动机

9.3结构

9.4适用性

9.5参与者

9.6协作

9.7结论

9.8实现

9.8.1遍历提供者组

9.8.2获取和选择提供者中的被

请求项目

9.9示例代码

9.10相关模式

9.11致谢

9.12参考文献

第3部分 专用模式

第10章 可分离检查器/可删除cout: 用于设计

透明分层服务的一种结构模式

10.1摘要

10.2动机

10.3解决方案

10.4适用性

10.5静态和动态结构

10.5.1类、责任和协作者

10.5.2动态协作者

10.6结论

10.7实现

10.8示例代码与使用

10.9已知应用

10.10相关模式

10.10.1装饰者

10.10.2访问者

10.10.3独身者

10.11注释

10.12变形

10.13致谢

10.14参考文献

第11章 面向对象超媒体应用的

设计模式

11.1摘要

11.2介绍

11.3一种面向对象的超媒体框架

11.4NavigationStrategy

11.5NavigationObserver

11.6结束语

11.7致谢

11.8参考文献

第12章 组织复用: 用于与分布式团队处理

卫星遥测的模式

12.1摘要

12.2介绍

12.3项目组织

12.4模式

12.4.1模式1: 松散接口

12.4.2模式2: 解释器/

构造器

12.4.3模式3: 工厂等级

12.4.4模式4: 处理器

12.5结论

12.6文中引用的模式

12.6.1来自“生成开发过程模式语言”

[Coplien95]的模式

12.6.2来自“设计模式”[Gamma+95]的模式

12.6.3来自“早期开发模式”[Beck94]的模式

12.7致谢

12.8参考文献

第13章 备份模式: 在面向对象的软件中

设计冗余

13.1摘要

13.2目的

13.3别名

13.4问题与上下文

13.5难点

13.6难点解决方案

13.7动机

13.8适用性

13.9结构

13.10参与者

13.11协作

13.12结论

13.13实现

13.13.1创建候选

13.13.2候选的独立性

13.13.3保持当前候选的

状态

13.13.4确定正确的功能

13.13.5撤销主模块执行产生

的影响

13.13.6验收测试

13.14示例代码与应用

13.15已知应用

13.16相关模式

13.17小结

13.18致谢

13.19参考文献

第14章 交叉中断: 对象RDBMS集成的模式

语言(静态模式)

14.1摘要

14.2介绍

14.3静态模式(关系方面)

14.3.1表的设计时间

14.3.2将对象描述成表

14.3.3将对象关系描述成表

14.3.4在关系数据库中描述

继承关系

14.3.5在关系数据库中

描述集合

14.3.6对象标识符(OID)

14.3.7外键引用

14.4静态模式(对象方面)

外键与直接引用

14.5参考文献

第15章 事务和账户

15.1摘要

15.2介绍

15.3商业事务

15.4将事务处理与存档分开

15.5商业账户

15.6组合事务

15.7调整事务

15.8月底结算

15.9显式业务规则

15.10持续处理

15.11致谢

15.12参考文献

第4部分 架构模式

第16章 软件架构的一些模式

16.1摘要

16.2软件架构的设计模式

16.3架构模式

16.3.1流水线

16.3.2数据抽象

16.3.3通信进程

16.3.4隐式调用

16.3.5仓库(Repository)

16.3.6解释器

16.3.7主程序和子例程

16.3.8分层架构

16.4致谢

16.5参考文献

第17章 反射

17.1介绍

17.2例子

17.3结构

17.4动态

17.5实现

17.6示例解析

17.7变形

17.8已知应用

17.9结论

17.10同时参阅

17.11参考文献ⅩⅦ

第18章 进化、架构和变形

18.1摘要

18.2介绍

18.3软件构造

18.4灵活基础

18.5变形

18.6小结

18.7致谢

18.8参考文献

第5部分 过程和组织

第19章 软件设计中的优先级问题

19.1介绍

19.2模式1: 保护变量

模式1.1: 持久存取器

19.3模式2: 技能混合

19.3.1模式2.1: 三个子系统

19.3.2模式2.2: 通用UI,

专用UI

19.3.3模式2.3: 通用和专用

19.4模式3: 应用边界

19.4.1模式3.1: 分解确认

19.4.2模式3.2: 内部编辑

19.5模式4: 每团队的子类

模式4.1: 模型层次

19.6模式5: 正面

模式5.1: 域截取

19.7对这种格式的评价

19.8参考文献

第20章 决策延迟和捕捉模式语言

20.1介绍

20.2综述

20.3模式1: 基于决策的模型

20.4模式2: 适当的现存模型

20.5模式3: 可执行模型

20.6模式4: 向上的可溯性

20.7模式5: 向下的变化

20.8致谢

20.9参考文献

第21章 团队的组织模式

21.1模式语言: 团队设计

21.2模式1: 目标一致

21.3模式2: 成员关系的多样性

21.4模式3: 团结起来

21.5模式4: 团队确认

21.6参考文献

第22章 责任和组织结构

22.1介绍

22.2组织结构的问题

22.3模式综述

22.4模型符号

22.5模式1: 团体

22.6模式2: 组织的递归结构

22.7模式3: 子类型中带有约束的

抽象模型

22.8模式4: 多层关联

22.9模式5: 组织结构类型的关系

22.10模式6: 关联具体化

22.11模式7: 类型关系

22.12模式8: 责任抽象

22.13模式9: 责任知识等级

22.14模式10: 将经常变化的结构放到

实例中

22.15模式11: 知识等级

22.16致谢

22.17参考文献

第23章 插曲: 一种竞争开发模式语言

23.1产品

23.1.1产品的最初状态

23.1.2市场调查

23.1.3隐含需求

23.2开发

23.2.1工作序列

23.2.2工作组

23.2.3工作序列报表

23.2.4比较工作

23.2.5完成天数

23.2.6开发插曲

23.2.7不正规的劳动计划

23.2.8工作划分

23.2.9再提交会议

23.3编程

23.3.1需求调查

23.3.2技术备忘录

23.3.3参考数据

23.3.4编程插曲ⅩⅧ

23.4补充模式

23.5参考文献

第6部分 展示

第24章 课堂教学模式

24.1摘要

24.2介绍

24.3本章要讨论的模式

24.4模式1: 重复课程开发

24.5模式2: 鸡和蛋

24.6模式3: 新旧混合

24.7模式4: 陷阱诊断和预防

24.8模式5: 模块的故事

24.9模式6: 七个部分

24.10模式7: 显而易见的清单

24.11模式8: 熟悉的例子

24.12模式9: 使用一周的例子

24.13模式10: 参考例子

24.14模式11: 生动的类比

24.15模式12: 仿真游戏

24.16模式13: 测试游戏

24.17模式14: 活动后听取汇报

24.18模式语言

24.19参考文献

第25章 演示准备: 用于准备软件演示的

一种模式语言

25.1介绍

25.2模式1: 元素识别

25.3模式2: 催化场景

25.4模式3: 易变的代码

25.5模式4: 原型语言

25.6模式5: 轻量级用户界面

25.7模式6: 明智的争论

25.8模式7: 存档场景

25.9结论

25.10参考文献

第26章 基于文章的网站使用的一种

模式语言

26.1A: 文本格式模式

A.1: 自然文本流**

A.2: 自然文本超链接*

A.3: 自然文本目录

26.2B: 文章格式模式

B.1: (生动的文章*)

B.2: (低深度文档树*)

B.3: (文档格式一致性**)

B.4: (基于小节的文章*)

B.5: (短小的、单页文章)

B.6: (一致的页眉和页脚**)

B.7: (介绍性小节)

B.8: (介绍性图片)

B.9: (朝向顶部的活动*)

B.10: (文档内容列表)

B.11: 引用项

B.12: (后一个和前一个引用

链接)

26.3C: 元信息(MetaInformational)

模式

C.1: 揭露内幕**

C.2: (作者小传**)

C.3: (对应日期**)

C.4: (工作表文档*)

C.5: (可下载 CGI)

C.6: (联系作者*)

C.7: (直接文档讨论)

C.8: 新文档通知**

C.9: (变化的文档通知*)

C.10: (临时保留文档版本)

26.4D: 调制解调器速度慢的模式

D.1: 14.4Kbps 测试*

D.2: (少量图片)

D.3: (隔行扫描的图片*)

D.4: (低位深度图片*)

26.5E: 其他模式

E.1: (链接类型差别*)

E.2: (主页版本*)

26.6致谢

26.7参考Web站点ⅩⅨ

第7部分 并行编程/分布式系统

第27章 半同步/半异步: 高效的、结构完善的

并行I/O使用的一种架构模式

27.1致谢

27.2参考文献

第28章 资源交换器: 低开销并行资源管理的

一种行为模式

28.1摘要

28.2解决方案

28.3应用

28.4结构

28.4.1类、责任和协作者

28.4.2动态协作

28.5结论

28.6实现

28.7示例代码和使用

28.8已知应用

28.9相关模式

28.10变形

28.11致谢

28.12参考文献

第29章 客户—分配器—服务器设计模式

参考文献

第30章 主动对象: 并行编程使用的一种

对象行为模式

30.1摘要

30.1.1目的

30.1.2别名

30.1.3动机

30.1.4适用性

30.1.5结构及参与者

30.1.6协作者

30.1.7结论

30.1.8实现

30.1.9示例代码

30.1.10已知应用

30.1.11相关模式

30.2参考文献

第31章 为并行程序选择锁定设计

31.1摘要

31.2例子算法

31.3上下文概述

31.4难点

31.5锁定设计模式索引

31.5.1模式关系

31.5.2解决难点

31.5.3缺陷表

31.6锁定设计模式

31.6.1串行程序

31.6.2代码锁定

31.6.3数据锁定

31.6.4数据所有权

31.6.5并行快捷路径

31.6.6读者/写者锁定

31.6.7分层锁定

31.6.8分配器缓存

31.6.9临界区熔合

31.6.10临界区划分

31.7致谢

31.8参考文献

第8部分 反应性系统

第32章 反应性系统中面向对象的

设计模式

32.1介绍

32.1.1仿真的重要性

32.1.2BASEstar Open

32.2模式1: 面向对象的仿真,事件

驱动的现实

32.3模式2: 具体化事件

32.4模式3: 具体化系统状态

32.5模式4: 远程控制对象

32.6模式5: 事件驱动

32.7总结

32.8致谢

32.9参考文献

第33章 容错电信系统模式

33.1介绍

33.2术语

33.3模式: 人工干预最小化

33.4模式: 人最了解

33.5模式: 无升级消息的5分钟

33.6模式: 瞬时抑制

33.7模式: 漏桶计数器

33.8模式: SICO首要并总是

33.9模式: 尝试所有的硬件联合体

33.10模式: 欺骗一次

33.11致谢

33.12参考文献

第34章 利用队列改善交互应用的

响应性

34.1摘要

34.2介绍

34.3模式1: 事件队列

34.4模式2: 组合兼容事件

34.5模式3: 处理人为事件

34.6模式4: 将执行和输出分离

34.7结论

34.8致谢

34.9参考文献

第35章 用于改善反应性系统功能的

模式语言

35.1摘要

35.2介绍

35.3问题域历史

35.4模式语言

35.5容量模式

35.5.1模式1: 容量瓶颈

35.5.2模式2: 处理容量

35.5.3模式3: 优化高运行

状况

35.5.4模式4: 分散负载

35.5.5模式5: 完成处理过程中

的工作负载

35.5.6模式6: 在失效前更新

工作负载

35.5.7模式7: 匹配正在处理的工作

负载与新工作负载

35.5.8模式8: 分担负载

35.5.9模式9: 在外设分散

工作负载

35.5.10模式10: 信用漏桶

35.6致谢

35.7参考文献

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/22 6:11:58