我读过,在大多数情况下,值对象不应该引用它们的所有者。
a)我将其解释为关联应该是单向的,只能从所有者到 VO 遍历?
b) 为什么 VO 不应该引用他们的所有者?
谢谢你
我读过,在大多数情况下,值对象不应该引用它们的所有者。
a)我将其解释为关联应该是单向的,只能从所有者到 VO 遍历?
b) 为什么 VO 不应该引用他们的所有者?
谢谢你
a)我将其解释为关联应该是单向的,只能从所有者到 VO 遍历?
是的。
b) 为什么 VO 不应该引用他们的所有者?
因为不需要。值对象是简单的对象,VO 中的潜在行为通常只与它自己或它自己的类的另一个实例相关。
因为值对象可以包含在多个所有者类型中,可能包含在多个聚合中。
因为值对象相等是基于所有字段都相等,并且您不希望仅仅因为奇怪的 Owner 字段而将 John 的眼睛的绿色与 Laura 的眼睛的绿色视为任何不同。
Because bidirectional associations are discouraged (even in entities) anyway.
我遵循这个原则是因为我希望我的 POJO 的设计独立于使用它们的客户端,并在代码级别将其与客户端分离。这样,它们就变得便携了。