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