一般问题:谁负责处理单个命令中包含的事件?
简化示例
给出了两个聚合:User
和Game
。
要使用 - 命令启动 a Game
,StartGame
两个User
s 都必须接受。就我的域驱动解决方案而言,这会导致以下事件流:GameRequested
->UserAccepted
或UserRejected
->GameStarted
或GameFailed
。
此事件流和相应的业务逻辑代码是领域的一部分,因此我想在领域层中规定该行为。但我经常看到应用程序层在聚合上完成所有事件处理和执行行为以弥合差距。应用程序层是否真的负责确定接下来必须调用哪个聚合(以及如何调用)以执行此GameStart
命令过程(跨越多个聚合和事件)?