Chapter 1 Introduction 1
1.1 Conceptual Models 1
1.2 The World of Patterns 4
1.3 The Patterns in this Book 8
1.4 Conceptual Models and Business Process Reengineering 10
1.5 Patterns and Frameworks 11
1.6 Using the Patterns 11
References 14
Part 1 Analysis Patterns 15
Chapter 2 Accountability 17
2.1 Party 18
2.2 Organization Hierarchies 19
2.3 Organization Structure 21
2.4 Accountability 22
2.5 Accountability Knowledge Level 24
2.6 Party Type Generalizations 27
2.7 Hierarchic Accountability 28
2.8 Operating Scopes 30
2.9 Post 32
References 33
Chapter 3 Observations and Measurements 35
3.1 Quantity 36
3.2 Conversion Ratio 38
3.3 Compound Units 39
3.4 Measurement 41
3.5 Observation 42
3.6 Subtyping Observation Concepts 46
3.7 Protocol 46
3.8 Dual Time Record 47
3.9 Rejected Observation 48
3.10 Active Observation, Hypothesis, and Projection 49
3.11 Associated Observation 50
3.12 Process of Observation 51
References 55
Chapter 4 Observations for Corporate Finance 57
4.1 Enterprise Segment 59
4.2 Measurement Protocol 65
4.3 Range 76
4.4 Phenomenon with Range 77
4.5 Using the Resulting Framework 82
References 83
Chapter 5 Referring to Objects 85
5.1 Name 86
5.2 Identification Scheme 88
5.3 Object Merge 90
5.4 Object Equivalence 92
References 93
Chapter 6 Inventory and Accounting 95
6.1 Account 97
6.2 Transactions 98
6.3 Summary Account 101
6.4 Memo Account 103
6.5 Posting Rules 104
6.6 Individual Instance Method 106
6.7 Posting Rule Execution 111
6.8 Posting Rules for Many Accounts 116
6.9 Choosing Entries 118
6.10 Accounting Practice 119
6.11 Sources of an Entry 122
6.12 Balance Sheet and Income Statement 123
6.13 Corresponding Account 124
6.14 Specialized Account Model 125
6.15 Booking Entries to Multiple Accounts 127
Further Reading 132
References 132
Chapter 7 Using the Accounting Models 133
7.1 Structural Models 134
7.2 Implementing the Structure 137
7.3 Setting Up New Phone Services 138
7.4 Setting Up Calls 142
7.5 Implementing Account-based Firing 143
7.6 Separating Calls into Day and Evening 143
7.7 Charging for Time 145
7.8 Calculating the Tax 148
7.9 Concluding Thoughts 150
References 155
Chapter 8 Planning 157
8.1 Proposed and Implemented Action 158
8.2 Completed and Abandoned Actions 160
8.3 Suspension 161
8.4 Plan 162
8.5 Protocol 165
8.6 Resource Allocation 168
8.7 Outcome and Start Functions 172
References 174
Chapter 9 Trading 175
9.1 Contract 176
9.2 Portfolio 180
9.3 Quote 185
9.4 Scenario 188
References 196
Chapter 10 Derivative Contracts 197
10.1 Forward Contracts 198
10.2 Options 200
10.3 Product 205
10.4 Subtype State Machines 211
10.5 Parallel Application and Domain Hierarchies 216
References 223
Chapter 11 Trading Packages 225
11.1 Multiple Access Levels to a Package 226
11.2 Mutual Visibility 230
11.3 Subtyping Packages 233
11.4 Concluding Thoughts 234
References 235
Part 2 Support Patterns 237
Chapter 12 Layered Architecture for Information Systems 239
12.1 Two-Tier Architecture 240
12.2 Three-Tier Architecture 242
12.3 Presentation and Application Logic 245
12.4 Database Interaction 251
12.5 Concluding Thoughts 255
References 256
Chapter 13 Application Facades 257
13.1 A Health Care Example 258
13.2 Contents of a Fa?ade 259
13.3 Common Methods 262
13.4 Operations 264
13.5 Type Conversions 265
13.6 Multiple Facades 267
References 269
Chapter 14 Patterns for Type Model Design Templates 271
14.1 Implementing Associations 274
14.2 Implementing Generalization 281
14.3 Object Creation 289
14.4 Object Destruction 290
14.5 Entry Point 291
14.6 Implementing Constraints 294
14.7 Design Templates for Other Techniques 295
References 295
Chapter 15 Association Patterns 297
15.1 Associative Type 298
15.2 Keyed Mapping 301
15.3 Historic Mapping 303
References 307
Chapter 16 Afterword 309
References 310
Part 3 Appendix 311
Appendix A Techniques and Notations 313
A.1 Type Diagrams 313
A.2 Interaction Diagrams 325
A.3 Event Diagrams 326
A.4 State Diagrams 327
A.5 Package Diagrams 328
References 330
Appendix B Table of Patterns 331
Index 343
附注 359
中文目录
第1章 绪论 1
本章首先介绍了关于模式的背景知识,包括模式的起源、模式的概念以及当前模式的热门话题——设计模式。然后介绍了本书中包含的两大类模式——分析模式和支持模式,并阐述了书中模式的来源及其与概念模型的关系。本章还为读者如何阅读和使用本书提供了指导思想。
1.1 概念模型 1
1.2 模式世界 4
1.3 本书中的模式 8
1.4 概念模型与业务流程重组 10
1.5 模式与框架 11
1.6 模式的使用 11
参考书目 14
第1部分 分析模式
第2章 责任模式 17
作者在本章首先介绍了个人与组织的超类——团体模式,然后引出组织结构模式——表达团体的结构,再进一步引出责任模式,以表达团体之间的关系。为了管理团体模式的复杂性,作者提出了新的概念:模式的知识级和操作级,以及责任的操作范围。
2.1 团体 18
2.2 组织层次 19
2.3 组织架构 21
2.4 责任 22
2.5 责任知识级 24
2.6 团体类别的泛化 27
2.7 层次性责任 28
2.8 操作范围 30
2.9 职位 32
参考书目 33
第3章 观测与度量模式 35
数量模式是数值和单位的结合,是一种表示事物量化的简单模式。数量模式结合事物量化的方式、时间、地点等相关信息就形成了更为复杂的度量模式。作者根据其医疗保健项目的经验,将度量模式进行相关的变形和扩展,形成了适合医学临床诊断的观测模式。前者是基于测量方式的精确量化,后者是根据临床经验的推断。
3.1 数量 36
3.2 转换率 38
3.3 复合单位 39
3.4 度量 41
3.5 观测 42
3.6 子类化观测概念 46
3.7 观测方案 46
3.8 双时间记录 47
3.9 被否决的观测 48
3.10 临床观测、假设、推理 49
3.11 关联观测 50
3.12 观测流程 51
参考书目 55
第4章 应用于企业财务的观测模式 57
在本章中,作者对第3章设计的观测模式进一步进行改进和扩展,形成了用于企业决策的观测模式。要对海量的企业数据进行观测,必须确定有效的观测对象和观测方案。作者将企业不同的属性划分为维度,并通过维度的组合形成企业片段,即观测对象。为了保持观测数据的准确性和实时性,作者设计了两种观测方案——比较和因果,并设计了带范围的观测以增强观测模式的弹性。
4.1 企业片断 59
4.2 度量方案 65
4.3 范围 76
4.4 带范围的现象 77
4.5 使用最终框架 82
参考书目 83
第5章 对象的引用 85
本章介绍的是对象引用模式。对象在系统中必须具有唯一标识,作者通过引入标识方案来保证对象标识的唯一性。本章还介绍了系统对象合并的3种方案:对象取代、本质/现象以及对象等价。
5.1 命名 86
5.2 标识规则 88
5.3 对象合并 90
5.4 对象等价 92
参考书目 93
第6章 库存与账务模式 95
本章介绍追踪并统计事物流通的设计模式,包括货物在货舱以及资金在账目之间两种,而金钱的流通最具代表性,因此这一模式就叫账务模式。资金的流通具有守恒性,即不可凭空产生和消亡。该模式中的事务能够保证资金不会由于系统错误或操作事务而丢失,备注账目保证资金不会凭空产生,汇总账目则便于统计多个账目的资金出入情况,提交规则更是系统自动地执行固定的资金流动。在本章的最后讨论了提交规则的实现方案和触发方式。
6.1 账目 97
6.2 事务 98
6.3 汇总账目 101
6.4 备注账目 103
6.5 提交规则 104
6.6 个体实例方法 106
6.7 提交规则的执行 111
6.8 多账目提交规则 116
6.9 选择条目 118
6.10 账目实践 119
6.11 条目的来源 122
6.12 计算单与收入记录本 123
6.13 对应账目 124
6.14 特殊的账目模型 125
6.15 将条目记入多个账目 127
进一步阅读 132
参考书目 132
第7章 使用账务模型 133
本章中作者以一个电信公司的计费系统为例,详细讨论了第6章中设计的账务模式的应用和实现。作者在本章提供了一些SmallTalk的示例代码,更利于开发和设计工程师进行理解。
7.1 结构化模型 134
7.2 结构的实现 137
7.3 建立新的电话服务 138
7.4 建立呼叫 142
7.5 实现基于账目的触发 143
7.6 将呼叫分为白天和晚上两类 143
7.7 以时间计费 145
7.8 计算税款 148
7.9 小结 150
参考书目 155
第8章 计划模式 157
本章是关于计划的模式。计划由一组行为组成。与行为相关的信息有执行时间、执行者等。所谓计划不如变化,计划执行前后的行为不会完全一致,因此行为具有建议行为(即计划执行前的行为)和执行行为(即计划执行后的行为)两种。行为执行时不但具有多种状态,例如完成、挂起等,还要消耗特定的资源,因此计划模式还涉及资源分配的问题。最后是计划的标准化。制定完备的计划可以被反复执行,作者称这种计划为方案。
8.1 建议行为与实现行为 158
8.2 完成行为与丢弃行为 160
8.3 挂起 161
8.4 计划 162
8.5 方案 165
8.6 资源分配 168
8.7 输出与启动函数 172
参考书目 174
第9章 交易模式 175
本章主要介绍的是与交易相关的几个模式。交易的核心是合同,合同的内容包括交易物、交易双方、合同性质、交易日期等。为了更有效地规避交易风险,作者又介绍了合同夹模式来管理和分析合同集。为了适应金融市场,作者为交易物增添了新的属性—报价,并设计了情景模式来动态获得任何时候、任何交易物的报价。
9.1 合同 176
9.2 合同夹 180
9.3 报价 185
9.4 情景 188
参考书目 196
第10章 派生合同 197
本章将第9章中介绍的一系列模式向金融领域进行了扩展。首先是交易日期和交付日期不相一致的期货合同,再到以保证金为基础的期权,甚至到以期权组合为交易物的特殊合同—跨式期权,这些都是基础合同的衍生物,因此作者称之为派生合同。该章包涵大量的金融行业术语,理解这些专业术语是理解这些领域模式的基础条件。
10.1 期货合同 198
10.2 期权 200
10.3 产品 205
10.4 状态机的子类 211
10.5 并行应用与领域层次结构 216
参考书目 223
第11章 交易包 225
在本章中作者以合同模式为例,介绍如何将领域模型分割成更小的模块—包,并介绍了包的设计规则、包之间的可见性以及继承性等问题。
11.1 包的多重访问级别 226
11.2 双向可见度 230
11.3 包的子类化 233
11.4 小结 234
参考书目 235
第2部分 支持模式
第12章 信息系统的层次化构架 239
从第12章到第15章是本书的第2部分——支持模式,可以称之为实现分析模式的模式。本章讨论的是信息系统的层次架构问题,作者通过扩展传统的3层模式将系统划分为表示层、应用逻辑层、领域层以及数据库层,并着重讨论了表示层、应用逻辑层和数据库层的实现方案。
12.1 双层构架 240
12.2 三层构架 242
12.3 表现层与应用逻辑 245
12.4 数据库交互 251
12.5 小结 255
参考书目 256
第13章 应用门面 257
本章介绍独立于领域层的用户接口的模式——应用外观的实现。外观包括两个部分——主题和方法。主题是外观对领域模型的引用,而方法则是根据用户接口的需求从主题中获取、更新或计算出用户所关心的特定信息的操作。
13.1 医疗保健的实例 258
13.2 门面的内容 259
13.3 公共方法 262
13.4 操作 264
13.5 类别转换 265
13.6 多重门面 267
参考书目 269
第14章 类别模型模式——设计模板 271
分析模式中有很多常用的构件,例如关联、泛化、约束以及对象的创建、析构、查找等。作者在本章定义了这些常用构件的接口,并提出了相应的实现方式,作者称这些定义为设计模板。这些设计模板为软件设计人员在实现领域模型时提供了可供选择的答案。
14.1 实现关联 274
14.2 实现泛化 281
14.3 创建对象 289
14.4 析构对象 290
14.5 入口点 291
14.6 实现约束 294
14.7 其他技术的设计模板 295
参考书目 295
第15章 关联模式 297
模式很大程度上就是实体与实体之间的关系,因此关联是模式中的通用构造。在本章中,作者将关联从模式中提炼出来,形成独立的模式。作者将关联分为3类:关联对象化形成关联类别、带键值的映射、历史映射。
15.1 关联类别 298
15.2 关键字映射 301
15.3 历史映射 303
参考书目 307
第16章 后记 309
参考书目 310
第3部分 附录
附录A 技术和符号 313
A.1 类别图 313
A.2 交互图 325
A.3 事件图 326
A.4 状态图 327
A.5 包图 328
参考书目 330
附录B 模式表 331
索引 343
附注 359