Я наткнулся на выступление Грега Янга 7 Причины, по которым проекты DDD терпят неудачу, когда он упоминает нечто, что он называет DDD-Lite, в 7:20.
Подводя итог, он в основном говорит, что некоторые используют DDD в качестве шаблонных языков (сущностей, репозиториев, объектов значений, сервисов и т. Д.), Не делая ничего другого, связанного с DDD. Он утверждает, что 60% или более моделей доменов в .Net являются DDD-Lite. Он думает, что DDD-Lite в основном строит язык на основе внедрения зависимостей, что вам на самом деле не нужно делать. Он говорит: либо делай DDD полностью, либо делай что-нибудь попроще. В противном случае он утверждает, что человек проделывает всю эту работу по созданию хороших абстракций, но без каких-либо реальных выгод.
Должен признать, что я не знаю столько о DDD, сколько хотел бы, и еще не пытался его использовать. Я также не читал книгу Эрика Эвана. я гораздо больше интересует Внедрение зависимостей, и многие, многие книги и блоги на эту тему используют термины и справочные концепции из книги DDD Эрика Эванса. Здесь я познакомился с концепциями DDD. Книги, которые я читал, которые делают это, включают:
- Внедрение зависимостей в .NET
- Microsoft .Net: разработка приложений для предприятия
- Разработка приложений Brownfield в .NET
Если кто-то хочет сделать Dependency Injection, что может быть проще, чем «DDD-Lite»? Мне кажется, что создание хороших абстракций весьма полезно, независимо от того, используется ли кто-либо из концепций DDD «DDD-Lite». (см. сообщения в блоге Марка Симанна: Интерфейсы - это не абстракции , а На пути к лучшим абстракциям ). Мне трудно поверить, что все, кто делает инъекцию зависимостей, тоже делают (или должны делать) полноценный DDD. Я как-то неправильно понял аргумент Грега Янга о DDD-Lite?
Бьюсь об заклад, Грег имеет в виду простое приложение, если вместо подхода DDD используется подмножество шаблонов, управляемых доменом. Термин DDD-Lite косвенно относится к книге http://www.infoq.com/minibooks/domain-driven-design-quickly которая раньше была популярна среди новичков DDD, но упускает из виду всю картину, фокусируясь только на моделирование локального моделирования.
Хотя Dependency Injection считается хорошей вещью, между DDD и DI нет сильной корреляции.
источник