Подходит ли DDD для всех видов приложений?

Одна обычная реакция, которую я вижу на множество вопросов, заданных здесь и на других форумах, звучит так: «Для этого вам не нужно делать DDD. Это простое приложение CRUD, DDD — это более -инженерных разработок».

Ну, я новичок в DDD, и я чувствую, что в DDD есть много элементов, которые имеют универсальную привлекательность и могут использоваться повсеместно, независимо от того, является ли ваше приложение сложным enuf для обязательного использования DDD. Например, многоуровневое приложение, различные артефакты, которые распознает DDD и т. д. Можно начать с основ и, по общему признанию, анемичных моделей, а затем работать/рефакторить до максимально возможной чистоты.

Такой подход звучит хорошо?
Или вы могли бы сказать, что в дизайне каждого приложения существует фундаментальный выбор с точки зрения того, идти ли по пути DDD или нет, что-то вроде выбора «все -или -ничего»?

ОБНОВЛЕНИЕ(чтобы предоставить больше контекста, в ответ на комментарий Хью ниже)
Я создаю веб-приложение вокруг существующего приложения типа RuleEngine, в основном CRUD и некоторых проверок, инвариантов, а затем процесса развертывания. Разработка правила -и семантическая проверка выполняются отдельным фрагментом кода, который я называю частью CRUD, и в моем коде нет никакой семантической специфической логики. Я пытаюсь использовать DDD для этого приложения, но я вижу, что это может быть недостаточно сложно, чтобы вписаться в парадигму DDD. Для предметной области не определен универсальный язык, т. е. язык недостаточно специализирован, кроме именования набора задействованных сущностей. Я слышу, как мой эксперт в предметной области говорит о создании, редактировании и удалении объектов.

7
задан redzedi 6 August 2012 в 09:00
поделиться