Как следует отделять совокупные корни (AR) взаимодействовать друг с другом в среде, построенной на принципах DDD, используя встроенный в исходный код агрегированный объект
Например, у меня есть агрегированный корень Facility (AR), у которого есть метод factory, ответственный за создание Booking AR. Booking представляет собой чувствительную к времени комбинацию a Person AR и a Facility AR. A Person можно забронировать только за один Facility.
В DDD я бы содержал ссылки на Booking в Person и Person в Facility. Однако при генерации событий для использования в event-sourcing я считаю, что попытка десериализации события из back-end станет непомерно высокой. Поэтому я взял только ссылки на уникальные идентификаторы, основанные на значении объекта. Это вызывает новую проблему, однако, когда метод AR должен вызывать другой метод на другом AR - как вы справляетесь с этой ситуацией? Хит репозиторий источника событий из домена AR?
Каков общий прецедент в этом сценарии? Я подхожу к этому все неправильно?