本卷是面向专业软件开发者模式系列的第二本书籍。其中介绍的模式可以用于解决在软件设计和开发中经常会遇到的许多问题,包括了面向语言的模式和惯例、通用和专用目的的模式、体系结构模式、处理或者组织模式、解释型模式;以及面向并行编程、分布式系统和反应性系统的模式。本卷中收集的新模式不仅揭示了高级软件开发的秘密,也使得这些秘密易于应用到读者实际的工作中。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 程序设计的模式语言(卷2) |
分类 | |
作者 | (美)维利斯德斯//科普林//科兹 |
出版社 | 清华大学出版社 |
下载 | ![]() |
简介 | 编辑推荐 本卷是面向专业软件开发者模式系列的第二本书籍。其中介绍的模式可以用于解决在软件设计和开发中经常会遇到的许多问题,包括了面向语言的模式和惯例、通用和专用目的的模式、体系结构模式、处理或者组织模式、解释型模式;以及面向并行编程、分布式系统和反应性系统的模式。本卷中收集的新模式不仅揭示了高级软件开发的秘密,也使得这些秘密易于应用到读者实际的工作中。 内容推荐 一种思想就仿佛风中的一粒种子:种子在落地、生根、开始成长之前并没有多大意义。模式(pattern)的思想在软件领域出现20年了,并已经最终落地和开始结果了。1994年编程模式语言会议(Pattern Languages on Programming conference,PLoP94)作为关于软件模式的第一次会议标志着软件模式活动的萌芽。接下来的一年中我们看到了含有大量模式文章的几本模式著作、杂志的出版,模式已经成为有关软件工程和面向对象技术的会议的主流内容。 目录 第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假设一定大小的(Hpyothasized) 集合 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如何支持情绪敏感(MoodSensitive) 的方法选择 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: 元信息(MetaInformational) 模式 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参考文献 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。