Вернуться к статье

Применение Domain-Driven Design в промышленных PHP-проектах: баланс между теорией и практикой

Таблица 1 - Архитектурные симптомы избыточного применения Domain-Driven Design в PHP-проектах

Элемент DDD

Архитектурный симптом

Практическое последствие

Aggregate

Выделение агрегатов при отсутствии инвариантов и согласованного жизненного цикла

Избыточная структурная сложность доменной модели

Value Object

Формальное использование объектов-значений без доменной логики

Увеличение количества классов и снижение читаемости

Repository

Репозитории, дублирующие интерфейсы ORM без дополнительной семантики

Лишний уровень абстракции и усложнение трассировки данных

Domain Service

Доменные сервисы с процедурной логикой

Формирование анемичной доменной модели

Архитектурные слои

Многоуровневая архитектура без чёткого распределения ответственности

Рост связности и сложности сопровождения