【发布时间】:2021-05-09 15:43:13
【问题描述】:
为了澄清,我简化了我的问题。我使用了 DDD 方法和 CQRS 模式。 在我的应用程序中,我有 2 个聚合用户和联系人,并且有两个入口点来添加用户或联系人。一切都很好,直到我的客户说我需要一个新的 API 入口点来同时添加用户和联系人。
我为他们两个都写了一个新命令,但发现我不能将一个命令用于一个以上的任务并且必须使用事件。另一方面,在 DDD 方法中,聚合根可以引发事件。在这种情况下,由用户引发事件是没有意义的,因为它不知道联系人。
在我看来,应用层负责引发事件。此外,如何将它们都保留在事务中以及如何将 UserId 发送到联系人命令。我很困惑如何解决它。
我想知道您是否可以为我提供解决方案或解决方法。 谢谢。
【问题讨论】:
标签: events transactions aggregate domain-driven-design cqrs