В личный план развития на работе получил одну из целей - изучить DDD (domain-driven design).
Посмотрев десяток видео на ютубе, могу сказать, не сильно отличается от обычных паттернов, типа MVC. Есть внешний слой интерфейса, есть глубинный слой инфраструктуры (типа соединения с базой и т.д.). Между ними основной слой - слой домена (бизнес логики).
Отличия, которые я уловил:
- Нужно договориться о терминах домена, что бы между разработчиками и заказчиком был единый язык. Домен можно поделить на субдомены.
- В коде работаем с уникальными сущностями Entity, у них есть id. У неуникальных объектов нет id.
- Агрегаты - для управления и доступа к группе связанных сущностей.
Пока в голове отложилось это. Позже прочитаю "Чистый код", может узнаю что то большее. Возможно тяжело изучается потому что, я со стороны frontend'a. А большинство примеров идёт на классах и ООП.