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