【发布时间】:2018-01-21 09:20:10
【问题描述】:
当我在我的软件项目中实践 DDD 时,我一直面临这样一个问题:“为什么我应该在实体中实现我的业务规则?它们不应该是纯数据模型吗?”
请注意,根据我对 DDD 的理解,域模型可以由持久模型和值对象组成。
我想出了一个解决方案,将我的持久模型与我的域模型分开。另一方面,我们有数据传输对象(DTO),所以我们有 3 层数据映射。数据库到持久性模型,持久性模型到域模型和域模型到 DTO。在我看来,我的解决方案不是一个有效的解决方案,因为必须付出太多的努力。
那么有没有更好的实践来实现这个目标?
【问题讨论】:
-
太多分层/映射的问题已经在 SO 上讨论了数百次。它也与“在实体中实现业务规则”完全无关。
-
@guillaume31 你能提供一些链接吗?也许这些可以帮助 Behzad...
-
@MarkSeemann 你有this one吗?
-
@guillaume31 我没有想到,虽然我同意你的观点,这是一个基本上在这里完成的话题,我们不能指望新手知道这一点......我不是钓鱼链接到我的博客,但谢谢:)
-
@guillaume31 我知道对象-对象映射器/分层,我的问题不是关于它。我已经在 SO 中搜索了几次,但我找不到我的答案,但如果我犯了错误,我会感谢你的帮助。无论如何,完全不同的问题可能有相同的答案,这对社区从不同的角度获得答案是有好处的。
标签: domain-driven-design software-design