注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计其他编程语言/工具程序设计的模式语言(2)

程序设计的模式语言(2)

程序设计的模式语言(2)

定 价:¥59.80

作 者: (美)维利斯德斯(Vlissides, J.M.), (美)科普林(Coplien, J.O.), (美)科兹(Kerth, N.L.)著
出版社: 清华大学出版社
丛编项: 软件模式系列
标 签: 程序设计语言学

ISBN: 9787302124429 出版时间: 2006-04-01 包装: 平装
开本: 16开 页数: 503 字数:  

内容简介

“具备一种专门技能是一种能力,而将其应用到其他方面则是另一种能力。了解模式就会具备这些能力。.本书由JohnM.Vlissides、Vlissides,JamesO.Coplien和NormanL.Kerth编著。模式是根植于编程文化,根植于一种在当前体系结构下相同名义的设计迁移行为,以及根植于任意文化中永恒的共同部分实践的一种文化形式。本卷是面向专业软件开发者模式系列的第二本书籍。其中介绍的模式可以用于解决在软件设计和开发中经常会遇到的许多问题,包括了面向语言的模式和惯例、通用和专用目的的模式。体系结构模式、处理或者组织模式。解释型模式;以及面向并行编程、分布式系统和反应性系统的模式。本卷中收集的新模式不仅揭示了高级软件开发的秘密,也使得这些秘密易于应用到读者实际的工作中。..JohnM.Vlissides是位于纽约霍索恩的IBMT.J.Watson研究中心的一位研究人员。他作为设计者、实现者、研究者、演讲者以及咨询顾问在面向对象技术领域已经有超过十年的从业经验了。他是Designpatternts:ElementsofReusableObject-OrientedSoftware一书的合作者(Addison—Wesley,1995年)。JamesO.Coplien是位于伊利诺伊州内珀维尔的贝尔实验室软件生产研究部的一名成员。他的研究兴趣集中在针对软件开发处理的多范例开发方法和组织人类学上,他是AdvancedC++:ProgrammingStylesandldioma(Addison-Wesley,1995年)一书的作者。NormanL.Kerth是俄勒冈州波特兰的EliteSystems的主要咨询顾问,他为许多公司提供服务以确保它们成功转向面向对象技术,他的业务范围包括规范和设计行为、质量保证、增强式持续处理、项目管理以及构建有效的团队等诸多领域。...

作者简介

John M.Viissides是位于纽约霍索恩的lBM T.J.Watson研究中心的一位研究人员。他作为设计者、实现者、研究者、演讲者以及咨询顾问在面向对象技术领域已经有超过十年的从业经验了。他是Des『gn patternts:E/eme,7fS 0f Reusable O何ect-Oriented Software一书的合作者(Addison-Wesley,1995年)。James O.Cop¨en是位于伊利诺伊州内珀维尔的贝尔实验室软件生产研究部的一名成员。他的研究兴趣集中在针对软件开发处理的多范例开发方法和组织人类学上,他是Advanced C++:Programming Styles and Idioms(Addison-Wesley,1 995年)一书的作者。Norman L_Kerth是俄勒冈州波特兰的Elite Systems的主要咨询顾问,他为许多公司提供服务以确保它们成功转向面向对象技术,他的业务范围包括规范和设计行为、质量保证、增强式持续处理、项目管理以及构建有效的团队等诸多领域。

图书目录

第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参考文献

本目录推荐