在Domain Driven Design中描述实体时,连续性线程意味着什么

时间:2011-10-29 20:30:00

标签: domain-driven-design entity

Eric Evans将实体定义为“一个基本上不是由其属性定义的对象,而是由连续性和身份的线程定义”。连续性线程是否意味着实体必须存储到数据库才能超过应用程序?

3 个答案:

答案 0 :(得分:1)

通常,实体存储在某个地方,主要是通过存储库检索它们。

然而,Evan意味着实体必须在建模世界中具有其身份和连续性。我可以在实体来自您的应用程序之外然后转到其他地方并且甚至可以跳过数据库的情况下成像,但它仍然是实体,而您可以在下次识别时识别它。其他实体仍可通过持有其ID来引用它。

答案 1 :(得分:0)

在生命周期中保持稳定/不变/存在的实体是什么?它的身份。其余属性可以改变。即使在其生命结束之后,我们也应该能够提供适当的背景信息(例如包括日期或期间)。这与价值对象形成鲜明对比,价值对象基本上由其属性定义,缺乏身份并且未被引用。常用值对象是颜色(rgb值),货币(金额+货币),重量(金额+单位),年龄(以年,月,日表示),< insert_the_ones_from_your_domain_here>,...触及任何内部状态和这不再是一回事。

答案 2 :(得分:0)

与唯一标识符关联的对象。它的属性可能会更改,但代表该对象的标识符本身不会更改。