到目前为止,我已经知道实体对象具有ID,而值对象没有,但在最常见的示例中,您具有附加了地址值对象的person实体。创建单独的地址对象而不是仅仅保留Person实体中的地址属性有什么大的优势?
到目前为止,我已经知道实体对象具有ID,而值对象没有,但在最常见的示例中,您具有附加了地址值对象的person实体。创建单独的地址对象而不是仅仅保留Person实体中的地址属性有什么大的优势?
除了已经提到的东西, 格雷格杨 因为它们是不可变的,所以你可以在创建时验证它们并且再也不用担心验证了。如果状态无法更改,那么您知道它始终有效。
除了已经提到的东西, 格雷格杨 因为它们是不可变的,所以你可以在创建时验证它们并且再也不用担心验证了。如果状态无法更改,那么您知道它始终有效。
不要忘记“没有id”并不是值对象和实体之间的唯一区别,不可变也是非常重要的。
将其视为可重用的组件。您可以将它变成家庭住址,工作地址而无需额外的努力。您可以使用它将其他系统与人员实体分离。假设您介绍一个商业实体。它也会有一个地址。
与此主题相关的是另一个重要主题:构成与继承