@kion78Выше
@fes0r приводил пример задач которые могут решаться "Мы хотим разделять и изолировать разные части логики для:
- контроль за изменениями, дабы мы хорошо понимали что будет если что-то поменяется. Уменьшение радиуса взрыва так скажем
- контроль за когнетивной сложностью системы - большая сложная штука разделена на много маленьких штук каждую из которых можно понять
- возможность паралелить работу, это опять же проистекает из предыдущих двух пунктов - то есть ты можешь взять двух человек или две команды и они договорившись о контрактах могут большую часть решений принимать автономно за счет этого ускоряя разработку."
- т.е. если добавление нового статуса - приводит к перелапачиванию большой части кода - то это прямое указание что агрегат стал слишком "жирный" - фактически то что должно быть несколькими агрегатами склелиось в один
- когда workflow изменения статусов уже не помещается на нескольких экранах и для того что бы понять как это работает - нужно овер дофига времени, то это тоже указание что вместо того что бы сделать несколько простых агрегатов сделали один сложный
- когда на проекте блоки из за того что прилетела таска от продажников и от логистики - и все это упирается в правки одного агрегата, и поэтому не дает возможности параллельно делать задачи - то же указание что в системе зараждается монструозный агрегат
вот все это понятные боли)) а у вас какая проблема?