Эрик, как первопроходец Domain-Driven Design’а, прекрасно объяснил концепцию, но множество деталей имплементации осталось за кадром. Из-за этого многие разработчики заклеймили DDD как исключительно теоретический концепт, не имеющий ничего общего с реальной разработкой.
Например, вопрос, как оградить домен от технических деталей реализации фреймворков, до сих пор остаётся не решённым для многих разработчиков. К счастью, эту проблему 10 лет спустя удалось решить Роберту Мартину в его книге Clean Architecture, где он показал весьма практическое решение проблемы Dependency Inversion между доменом и инфраструктурой.
Эрик уделил много внимание тактическим паттернам — Entity, Domain Service и так далее, которые отвлекли внимание читателей от более важных стратегических паттернов — Ubiquitous Language и эволюционной сущности моделей.
Из-за этого многие разработчики не разглядели, что DDD является стратегией, которая должна была задавать тон всей команде разработчики. Вместо этого DDD стало набором тактических паттернов, применение которых автоматически превращало код из недодерживаемой лапши в модель реального мира.
Эрик Эванс настоял на том, что Ubiquitous Language — это фундамент Domain Driven-Desing. Но не описал, как же этот единый язык должен формироваться.
Техника Event Storming, позволяющая экспертам предметной области и разработчикам разговаривать на одном языке, была придумана Альберто Брандалиние только через 10 лет после выхода Синей Книги. Так что многие разработчики целых 10 лет обвиняли DDD в исключительной академичности.