在基于 DDD 原则构建的环境中,使用事件源聚合后端,单独的聚合根(AR) 应如何相互通信?
例如,我有一个Facility聚合根 (AR),它有一个负责创建BookingAR 的工厂方法。这Booking是PersonAR 和FacilityAR 的时间敏感组合。APerson只能单人预订Facility。
在 DDD 中,我会持有对BookinginPerson和Personin的引用Facility。但是,在生成用于事件溯源的事件时,我认为尝试从后端处理事件反序列化会变得令人望而却步。因此,我只保留对基于值对象的唯一 ID 的引用。然而,这带来了一个新问题,当 AR 上的一个方法需要调用另一个 AR 上的另一个方法时——你如何处理这种情况?从域 AR 中访问事件源存储库?
这种情况下的一般用例是什么?我接近这一切都错了吗?