Как отделить связь aggregate roots (AR) друг от друга в среде, основанной на принципах DDD, используя встроенный сервер событий, основанный на событиях?Межсегментная связь в CQRS + DDD + Event Sourcing
Например, у меня есть корень агрегата Facility
(AR), который имеет фабричный метод, ответственный за создание Booking
AR. Booking
является чувствительной к времени комбинацией Person
AR и Facility
AR. A Person
можно забронировать только в одном Facility
.
В DDD, я бы провел ссылки на Booking
в Person
и Person
в Facility
. Однако при генерации событий для использования в event-sourcing я считаю, что попытка десериализации события из back-end станет непомерно высокой. Поэтому я взял только ссылки на уникальные идентификаторы, основанные на значении объекта. Это вызывает новую проблему, однако, когда метод AR должен вызывать другой метод на другом AR - как вы справляетесь с этой ситуацией? Хит репозиторий источника событий из домена AR?
Каков общий прецедент в этом сценарии? Я подхожу к этому все неправильно?
Хороший ответ - если вам посчастливилось найти дополнительную информацию по этой теме, вы можете найти это сообщение полезным: [Inter Aggregate Communication в системе источников событий] (http://danielwhittaker.me/2014/11/22/) 4-секреты-между агрегатно-коммуникационно-событий-источников-система /) – Codescribler