У меня сложный сценарий, в котором две совокупные границы как бы противоречат друг другу.
У меня есть 2 сущности: запрос и миссия. Пользователь создает запросы, а позже он может создавать миссии и назначать существующие запросы для миссии.
Запросы и миссии можно создавать независимо. Другими словами, мне не нужно иметь Миссию при создании Запроса и наоборот.
Итак, я предполагаю, что у нас есть 2 разных агрегата: агрегирование запросов и агрегирование миссий, где каждая сущность является корнем своего собственного агрегата.
ОДНАКО, у нас есть инвариант, который нарушает это предположение: вы можете отложить или отменить миссию, что приводит к соответствующему обновлению статуса всех назначенных ей запросов.
Как я могу обеспечить соблюдение этого ограничения, если запрос и миссия находятся в двух разных агрегатах? Если я помещу их в один и тот же агрегат, невозможно будет сказать, кто является агрегатным корнем, потому что каждая сущность может быть создана независимо.
Любой совет?
Mosh