代码之家  ›  专栏  ›  技术社区  ›  Aleksander Chelpski

域驱动设计-每个实体都应该有guid吗?

  •  0
  • Aleksander Chelpski  · 技术社区  · 6 年前

    0 回复  |  直到 6 年前
        1
  •  0
  •   Maxime Gélinas    6 年前

    1. 实体 :一个实体总是有一个ID,因为一个实体的等号是基于他的ID的(如果两个实体的类型相同并且它们的ID相等,那么这些实体是相等的)。一个实体的一个很好的例子是一个人,一个人是唯一的,不能用它的属性来等同,那么一个人有一个ID,它就是一个实体。

    2. :值对象没有ID,因为值对象的相等性基于其属性。电子邮件地址就是一个很好的例子。两个电子邮件地址相等当域和前缀相等时,则电子邮件地址是值对象。

    因此,您必须确定OrderStatus是实体还是值对象。如果它是一个实体,那么它就有一个ID。

    提示:根据您的描述,它看起来像是一个值对象。