党的角色与有限的语境

时间:2011-11-28 08:10:53

标签: domain-driven-design roles bounded-contexts domain-data-modelling

我正在尝试使用Java Modeling in Color中的Party Place ThingRole原型。

此外,我还尝试合并DDD最佳实践,现在假设我们有1个人扮演2个角色 在我的申请中说客户和患者。

客户角色用于CRM有界上下文,患者角色用于医院管理有界上下文。

我的角色类可以使用弱id访问Person详细信息,这是一个唯一可以代表Person的值对象,可以找到此方法的详细信息here

现在,在Party Place Thing原型中,指定的职责之一是能够列出该党正在扮演的角色。

如果角色存在于不同的有界上下文中,那么如何实现这一目标呢?

理想情况下,客户和患者不应存在于与人相同的有界环境中

1 个答案:

答案 0 :(得分:0)

根据我的理解,因为我问的问题是,一个人(党)需要了解它所扮演的所有角色的情况很少。

一个人需要保留什么样的不变量才能保留它所扮演的所有角色?

所以基本上DDD会说Person不需要知道它在不同BC中扮演的所有角色。

在上面的例子中,CRM BC中的Customer类将知道它正在扮演角色的人(Party)。

以及医院管理(HM)有界上下文中的患者类将知道它正在扮演角色的人(党)。

然而,Person类不会知道Customer类或Patient类。

事实上,基于UL(无所不在的语言),CRM BC中的Person类与HM BC中的Person类看起来非常不同。

这些来自不同上下文的Person类相互关联的方式是使用软标识符。

有关详细信息,请参阅本书here

由于