2015-07-03 101 views
3

想象一下,在DDD启发式系统中,我们获得了多个有界上下文,每个上下文都有一个“Person”域对象的变体。域驱动设计 - 常见行为

我们如何去设计所有这些不同的Person对象的共同行为?

我们是否在每个Person类中重复该行为,或者我们是否使用类似Domain Service的东西?我有点困惑。

请分享您的想法。

+2

您可能想要依赖共享内核,但不要忘记重用是耦合。少量的重复通常会比试图消除所有这些都好。 – plalx

+2

如果有界的上下文是有区别的,那么不要害怕,并写两次代码。 –

+0

请分享具体人员的样本。 – Yorro

回答

0

挑战您共享有界的上下文。不要陷入不正确的人群 - 认为单独的有限背景是常见的,因此必须到处都是。人们听说他们很重要,所以我必须有一些!

在一个领域模型中,有许多方法来模拟不同角色(上下文)中的事物,人员和地点。这是领域建模中最常见的问题之一。

一个人可以扮演(参与)客户,供应商,团队成员,奖励获得者和社会团体成员。

一个机场大门可能是一个DepartureGate,ArrivalGate,也许有时是EmergencyGate。

产品可以是ProductBeingSold,ProductBeingReturned,ProductUnderDevelopment。

所有这些通常建模在代表所考虑问题的单个域中。