本文共 881 字,大约阅读时间需要 2 分钟。
将企业软件中进行数据交换的业务对象,例如客户、订单或产品等常规模型进行标准化,让它们包含所有属性与关联信息,这种做法看上去似乎是一种吸引人的目标,但在看来,这种方式将产生(Canonical Data Model - CDM),这是一种十分糟糕的做法,他强烈。
\\是innoQ的联合创造人兼首席顾问,在他多年的经验中,无数次地看到各个软件组织是怎样基于错误的假设而进行工作的。他同时表示, 他所定义的CDM这种模型会使得组织必须进行大量的会议、并且需要所有相关人员参与协作。通常来说,这种方式所产生的模型中包含了大量的可选属性,以及为了满足所有系统对该模型的不同需求和制约而编写的各种奇怪行为。
\\为了避免产生这种模型,Tilkov推荐的方式是使用,这个概念来自于(DDD)。它是想法是将一个巨大的模型划分为多个小的上下文,因此在不同上下文中的业务对象可以根据每个上下文的不同需求,采取不同的建模方式。他同时强调,这一点不仅对于大型系统来说非常重要,对于企业范围的架构来说更是至关紧要,因为每个系统都具有不同的需求,应当根据各自的需求不同进行相应的设计。
\\对于那些仍然以CDM为目标的组织,Tilkov提供了一些指南,以应对各种可能出现的问题:
\\在Tilkov看来,企业架构师应当避免集中式的模型与CDM,而应当尽量将整体性的内容减至最低,将大部分职责交给团队本身及团队中的成员。
\\在2008年,Bill Poole在一篇文章中从SOA的角度对与模型进行了对比。在他看来,集中式的模型中存在着许多缺点,从他的自身经验来看,他更倾向于使用非集中式的模型,这一观点也引起了人们的一些。
\\查看英文原文:
转载地址:http://ryvix.baihongyu.com/