在基于DDD原则和事件溯源的环境中,如何使分离的聚合根(AR)相互通信?
例如,我有一个名为Facility
的聚合根(AR),它具有负责创建Booking
AR的工厂方法。 Booking
是Person
AR和Facility
AR的时间敏感组合。 一个Person
只能被预订到一个Facility
。
在DDD中,我将在Person
中保留对Booking
的引用,在Facility
中保留对Person
的引用。但是,在生成用于事件溯源的事件时,我认为尝试处理后端的事件反序列化会变得很困难。因此,我已经开始仅持有基于值对象的唯一标识符的引用。然而,这带来了一个新问题,当一个AR上的方法需要调用另一个AR上的方法时,如何处理该情况?从领域AR击中事件源存储库?
在这种情况下的一般用例是什么?我是否在错误的方向上思考了?