
| 本书详细地介绍了从“应用领域”到“方案领域”的C++设计实现方法,以及开发者在设计思考和设计实践过程中需要用到的记法、图表和设计模型。在读完这本书以后,读者将会了解如何根据应用领域的共同性和差异性分析来确定C++方案领域的结构,也就是如何选择适用于应用领域同时又为C++所支持的范型来形成方案领域的结构。 全书涵盖了这样一些重要的概念或方法,需要读者重点把握:软件族、共同性、积极或消极差异性、领域分析、领域划分、领域词汇表、面向对象的分析、复用、迭代、绑定、依赖关系图、范型混合,以及模式等。 本书第1章分析多范型设计的必要性,第2章和第3章分别介绍共同性和差异性分析。第4章解释如何使用领域分析来找到应用领域中的抽象。第5章说明怎样将领域工程的原则用作对象范型的抽象技术的基础。第6章应用“分析”来描述“方案领域”的特征,并且将C++结构放到形成共同性和差异性基础的正式框架中。第7章综合考虑前几章的内容,介绍了结构复杂性不同的设计问题的分类,以及可作为基于领域分析和多范型设计技术基础的高级活动集合。第8章研究结构复杂的设计,并介绍如何组合各种范型。第9章补充说明了流行的设计模式与领域工程之间的关系,提供了对模式、领域 工程以及二者关系的新的认识。 阅读本书需要读者一定程度地掌握了C++编程语言,并具有一定的面向对象编程的经验。书中大量引用了相关著作,读者朋友可根据需要参阅参考文献中相关书目。 |
| James O.Coplien是对象范型和C++方面的主要专家和作者,自从进入AT—T以后,他就一直致力于对C++语言的研究。现在他是朗讯贝尔实验室的成员,他的著作主要集中在多范型开发过程的人工组织学上。Coplien以前的著作包括:《Pattern Languages of Program Design》(与Douglas C.Schmidt合著)、《Pattern Languages of Program Design》第二卷(与John M.Vlissides和Norman L.Kerth合著)、《Advanced C++:Programming Styles and Idioms)(《Advanced C++中文版》已由中国电力出版社出版)。 |
| 译者序 前言 第1章 简介:多范型的必要性 1.1 领域工程和多范型 1.2 设计、分析、领域、族:术语定义 1.3 超越对象 1.4 共同性和差异性分析 1.5 软件族 1.6 多范型设计 1.7 多范型开发和编程语言 1.8 共同性分析:其他方面 1.9 小结 第2章 共同性分析 2.1 共同性:抽象的本质 2.2 起动分析:领域词汇表 2.3 共同性维度和共同性类别 2.4 共同性的例子 2.5 回顾共同性分析 2.6 共同性和演进 2.7 小结 第3章 差异性分析 3.1 差异性:生活的调味剂 3.2 共同性基准 3.3 积极和消极差异性 3.4 差异性的领域和范围 3.5 绑定时间 3.6 默认值 3.7 差异性表 3.8 一些差异性陷附 3.9 回顾差异性分析 3.10 差异性依赖关系图 3.11 小结 第4章 应用领域分析 4.1 分析、领域分析和其他 4.2 领域分析中的子领域 4.3 子领域的结构 4.4 分析:全景图 4.5 小结 第5章 面向对象的分析 5.1 关于范型和对象 5.2 面向对象的共同性分析 5.3 小结 第6章 方案领域分析 6.1 “其他”领域 6.2 C++方案领域:概览 6.3 数据 6.4 重载 6.5 类模板 6.6 函数模板 6.7 继承 6.8 虚函数 6.9 共同性分析和多态性 6.10 处理器指令 6.11 消极差异性 6.12 C++方案分析小结:一个族列表 第7章 范型的简单混合 7.1 将所有范型放在一起:多范型设计概览 7.2 多范型设计的活动 7.3 示例:一个简单的语言翻译器 7.4 设计,而不再是分析 7.5 另一个例子:自动微分 7.6 外部范型 7.7 管理问题 7.8 小结 第8章 将范型编织起来 8.1 方法和设计 8.2 共同性分析:共同性维度是什么? 8.3 一组共同性中的差异性的多个维度 8.4 相互依赖的领域 8.5 设计和结构 8.6 另一例子:有限状态机 8.7 基于模式的方案策略 8.8 小结 第9章 用模式扩充方案领域 9.1 代码模式与模式的价值 9.2 常用模式中的共同性和差异性 9.3 消极差异性的模式 9.4 作为模式助手的多范型工具 9.5 小结 参考文献 |
商品评论(0条)