Приветствую. Вопросик по агрегатам.
Агрегат - это граница некой логической операции, для поддержания инвариантов, если я правильно понимаю.
Кейс (понятно что крудовый, взят для простоты и убираем проблемы гонки). Есть блог, есть комментарии к нему. Между ними нет никаких инвариантов. Соотвественно это два разных мини агрегата по одной сущности, ссылки из коммента на блог по id, блог вообще не знает о комментах. С своими репозиториями и методами (add, remove). Появляется условие блог: не должен содержать более 10 комментов за текущие сутки (забиваем на перфоманс, делаем через код). Мы объединямем агрегаты в 1, блог становится рутом и появляется метод addComment().
Вопрос: доступ к внутренностям (комментам) агрегата, должен быть только через рут (через блог). Получается удаление / редактирование комментария нужно тоже переделывать и делать через блог, удалять репозиторий комментриев. Какой-то дрочь на пустом месте. Где я дал промашку? Или же нет смысла в переделывании? Есть инвариант, он поддерживается, а остальное уже не важно (ну типо доступа только через рут) ?