Что такое aggregate-design?
Выполняйте проверку кода, поддержку проектирования и рефакторинг агрегатов на основе правил проектирования агрегатов DDD. Комплексно руководите определением совокупных границ, инвариантной проверкой, неизменяемым дизайном, ссылками на идентификаторы, конечной согласованностью и интеграцией доменных событий в соответствии с правилами Эванса, 4 правилами Вернона и проектированием по контракту. Всегда используйте этот навык, когда применимо любое из следующих условий: - Новый дизайн, реализация или рефакторинг агрегата (любой язык). - Анализ кода существующих агрегатных классов или классов сущностей, ориентированный на DDD. - Определение границ агрегатов («Должны ли A и B находиться в одном агрегате?», «Этот агрегат слишком велик?») - Разработка инвариантов и границ согласованности внутри агрегата. - Выбор шаблонов межагрегированного сотрудничества (события предметной области, конечная согласованность, шаблон Saga) - Рефакторинг изменяемого агрегатного кода в неизменяемый дизайн. - Обнаружение и исправление нарушений инкапсуляции, таких как открытые поля, прямые ссылки, push/добавление. Примеры ключевых слов: агрегат, агрегат, граница агрегата, корень агрегата, AggregateRoot, дизайн объекта, реализация DDD, правила Вернона, правила Эванса, разделение агрегата, истинные инварианты. Источник: j5ik2o/okite-ai.