DDD逻辑只能在事件触发时使用吗?比如发布、放置、删除?并且在检索(GET)时不需要使用DDD逻辑?

发布于 2025-01-14 08:47:40 字数 166 浏览 2 评论 0原文

DDD只能用在事件触发的情况下吗?比如发布、放置、删除?我尝试在网上搜索了几个月,我只能看到他们在提交用户表单时使用了DDD逻辑。但是,当检索数据(GET)时,不涉及任何逻辑,它们只是查询数据并显示在 UI 中,如果我将计算出的总计存储在数据库中或检索数据并计算它,这是可以接受的吗?

。请赐教。谢谢。

DDD can only be use in event triggered? like POST,PUT,DELETE? I try to search on the internet for how many months, I can only see that they use DDD logic when the user form is submitted. But when retrieving the data (GET) there is no logic involve, they just query it and display in the U.I. Is that acceptable if I store computed total in the database or retrieve the data and compute it?

. Please enlighten me. Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2025-01-21 08:47:40

如果您的应用程序是针对特定的有界上下文使用 DDD 设计的,那么它应该是该上下文的唯一权威应用程序。这意味着它应该是唯一能够更新该上下文状态的人。这意味着对该上下文的每次更改都应该经过该应用程序域层。

如果对此上下文的每次更改都是由您的应用程序完成的,并且如果您在更新上下文状态时强制执行所有域规则,则您的上下文状态不能保留为无效状态。在这种情况下,您无需在读取上下文状态时强制执行域规则,因为更新上下文时已经完成了这一操作。

结论:

如果您阻止其他组件侵犯您对该上下文的权限,则在读取/查询应用程序状态时您可以绕过域逻辑验证。

If your application is designed with DDD for a specific bounded context, then it SHOULD be the only authoritative application for that context. It means it SHOULD be the only one able to update the that context's state. It means every changes to that context SHOULD go through this application domain layer.

If every change to this context is done by your application, and if you enforce all domain rules when updating your context state, then your context state CANNOT be persisted in an invalid state. In that situation, you don't need to enforce domain rules when reading the context's state, as this was already done when updating it.

In conclusion :

You MAY bypass your domain logic validation when reading/querying your application state IF you prevent other components from violating your authority over that context.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文