DDD не умирает. Умирает карго-культ DDD.

Domain-Driven Design (DDD) не умирает.

Ценность DDD сейчас важна как никогда именно из-за ИИ. Вам всё еще необходимо:

  • Понимать сложные бизнес-домены
  • Определять ограниченные контексты (bounded contexts)
  • Согласовывать язык между инженерами и экспертами
  • Выявлять инварианты
  • Делать переходы состояний явными

ИИ делает генерацию кода дешевой. Это делает нечеткое мышление еще более опасным. Если ваша доменная логика хаотична, ИИ просто поможет вам создавать этот хаос быстрее.

Проблема не в DDD. Проблема в карго-культе DDD.

Многие команды используют тактический DDD как инструмент контроля, а не понимания. Они следуют паттернам просто ради того, чтобы следовать им:

  • Создать Entity
  • Добавить Repository
  • Написать Mapper
  • Соблюдать структуру директорий

Эти паттерны не плохи сами по себе. Но они часто превращаются в архитектурную бюрократию. Если Repository — это просто переименованный DAO, а Mapper лишь перекладывает поля без всякого смысла, вы не моделируете домен. Вы просто заполняете формы.

Это бюрократия, выраженная через архитектуру.

ИИ идеально подходит для такой работы. Он может генерировать мапперы, DTO и шаблонный код (boilerplate) за считанные секунды.

Если вы используете ИИ для ускорения бюрократии, вы лишь ускоряете проведение ритуалов. Вы можете видеть, как быстрее движутся тикеты, но вы не строите лучшие системы. Вы просто удешевляете производство отходов.

Настоящая конкуренция идет между двумя типами организаций:

  1. Крупные бюрократизированные команды с поддержкой ИИ Эти команды используют ИИ для создания дополнительных слоев и еще большего количества шаблонного кода. Они сосредоточены на следовании существующим паттернам и прохождении формальных проверок.

  2. Небольшие высокоответственные команды, усиленные ИИ Эти команды используют ИИ, чтобы повысить свою способность безопасно изменять системы. Они фокусируются на:

  • Исполняемых спецификациях
  • Четких границах
  • Автоматизированных тестах
  • Ограничениях на уровне типов
  • Явных переходах состояний

Первый тип использует ИИ для создания большего количества ритуалов. Второй тип использует ИИ, чтобы устранить необходимость в ритуалах.

Перестаньте использовать архитектуру для контроля людей или кода. Используйте её для защиты смысла домена.

Переходите от архитектуры, защищаемой человеческой проверкой, к архитектуре, защищаемой тестами, типами и ограничениями.

Source: https://dev.to/terum/ddd-is-not-dying-cargo-cult-ddd-is-l1p

Optional learning community: https://t.me/GyaanSetuAi