当前位置:  开发笔记 > 编程语言 > 正文

在DDD中,价值对象的实际优势是什么?

如何解决《在DDD中,价值对象的实际优势是什么?》经验,为你挑选了2个好方法。

到目前为止,我已经理解了实体对象具有ID,而值对象没有,但在最常见的示例中,您具有附加了地址值对象的person实体.创建单独的地址对象而不仅仅是在Person Entity中保留地址属性有什么大的优势?



1> jlembke..:

除了已经提到过的东西之外,Greg Young还说明了这样一个事实,即由于它们是不可变的,你可以在创建时验证它们,而不必再担心验证.如果状态无法更改,那么您知道它始终有效.


终于找到了为什么不变性是值得的东西的一个很好的理由."这可以防止奇怪的行为"借口之前并没有说服我.

2> Paco..:

值对象可以用作其他类中其他方法的参数

它可以使您的设计更清晰

它可能有助于性能优化(例如:飞重模式)

值对象可以在不同的实体中重用.(例如:具有地址值对象的用户和位置实体.

不要忘记"没有id"并不是值对象和实体之间的唯一区别,不可变也是非常重要的.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有