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