目录 1
译者序 1
前言 1
第1章 简介:多范型的必要性 1
1.1 领域工程和多范型 1
1.2 设计、分析、领域、族:术语定义 3
1.3 超越对象 8
1.4 共同性和差异性分析 9
1.5 软件族 9
1.6 多范型设计 11
1.7 多范型开发和编程语言 13
1.8 共同性分析:其他方面 17
1.9 小结 19
第2章 共同性分析 21
2.1 共同性:抽象的本质 21
2.2 起动分析:领域词汇表 25
2.3 共同性维度和共同性类别 28
2.4 共同性的例子 39
2.5 回顾共同性分析 44
2.6 共同性和演进 45
2.7 小结 46
第3章 差异性分析 47
3.1 差异性:生活的调味剂 47
3.2 共同性基准 48
3.3 积极和消极差异性 49
3.4 差异性的领域和范围 51
3.5 绑定时间 53
3.6 默认值 56
3.7 差异性表 56
3.8 一些差异性陷阱 57
3.9 回顾差异性分析 58
3.10 差异性依赖关系图 59
3.11 小结 60
第4章 应用领域分析 61
4.1 分析、领域分析和其他 61
4.2 领域分析中的子领域 67
4.3 子领域的结构 72
4.4 分析:全景图 76
4.5 小结 77
5.1 关于范型和对象 79
第5章 面向对象的分析 79
5.2 面向对象的共同性分析 84
5.3 小结 87
第6章 方案领域分析 89
6.1 “其他”领域 89
6.2 C++方案领域:概览 90
6.3 数据 91
6.4 重载 91
6.5 类模板 92
6.7 继承 93
6.6 函数模板 93
6.8 虚函数 98
6.9 共同性分析和多态性 100
6.10 处理器指令 101
6.11 消极差异性 101
6.12 C++方案分析小结:一个族列表 114
第7章 范型的简单混合 115
7.1 将所有范型放在一起:多范型设计概览 115
7.2 多范型设计的活动 122
7.3 示例:一个简单的语言翻译器 126
7.4 设计,而不再是分析 135
7.5 另一个例子:自动微分 136
7.6 外部范型 144
7.7 管理问题 144
7.8 小结 148
第8章 将范型编织起来 149
8.1 方法和设计 149
8.2 共同性分析:共同性维度是什么? 150
8.3 一组共同性中的差异性的多个维度 151
8.4 相互依赖的领域 156
8.5 设计和结构 171
8.6 另一例子:有限状态机 175
8.7 基于模式的方案策略 181
8.8 小结 181
第9章 用模式扩充方案领域 183
9.1 代码模式与模式的价值 183
9.2 常用模式中的共同性和差异性 188
9.3 消极差异性的模式 195
9.4 作为模式助手的多范型工具 198
9.5 小结 198
参考文献 199