А агрегат контролирует инварианты и тех сущностей которые включает в себя или только совокупные? Получается нужно все методы сущностей переместить в агрегат а сами они станут value-object, в первом случае? У меня вопросы по реализации больше наверное...смотрел примеры на гите но остались вопросы без ответа
Я бы посоветовал вообще представлять что это прсото объекты\процессы И что они тоько в памяти хранятся. Так будетп роще отойти от проектирвания схемы базы данных а не аггрегатов. На крайнем слуяай что они в условных файдах в виду сереализованых обектов хранятся
Ну напрммер, у меня есть Customer у которого 25.000 покупок. Мне нужно взять все которые куплены на прошлой неделе и применить скидку. Из за ограничений на память я не могу размещать логику скидок в Order агрегате. Где она должна быть?
Скорее для видоса нужно сосредоточиться, а не как с статейками, я например всегда смотрю х2 или х4 чтобы максимально включиться в тему, хотя это все ещё медленнее чем читать.
Почему не можешь, делаешь поле get orders () => query.forLastWeekOrder() и окей, потом просто допишешь метод applyDisc (disc) => orders.all(x => x.disc(disc))
выборка всгда отстает от реальных данных осебнно если чтения с реплики например поидее нельзя выбирать несколько аггрегатов Тогда надо будет их всех лочить раз надо над ними всеми операцию произвести так чтобы консистентно. А локи это уже плохо. Мы и делали агррегаты ради того чтобы границу транзакции только на них применять А тут нате вам раздвигаем транзакуию на кучу аггрегатов Ибо пока вот все жто происходит может и новое добавится и старое удалится и время пройти Вообщем кучу херни произвести