将对象视为实体或值对象?

时间:2012-04-02 12:53:55

标签: domain-driven-design

我在小型预订房间系统工作。在我的解决方案中,我有一个Reservation(Entity),它保存了对ReservationTerm(值对象)的引用。

预订期限有3种类型 - 简单的预订期限(代表简单的从 - 到);期间保留期限(代表期间重复);和复合词(应该汇总前面提到的术语);

这是我的问题。我不知道我是否应该将ReservationTerm视为具有身份或仅有价值对象的对象。对我来说,它是从它读取值的重要信息,但是,当我尝试将其他ReservationTermsCompositeTerm聚合时,我不知道它会如何表现。

1 个答案:

答案 0 :(得分:1)

值对象不仅可以容纳另一个值对象,还可以容纳实体。

就你如何建模ReservationTerm而言 - 它是否具有自己的身份或者它的状态能够完全描述吗?如果是前者,它应该是一个实体,如果是后者,则是一个值类型。