У меня может быть глупый вопрос о DDD: Есть ли какие-то недостатки в генералитете DDD? Я имею в виду, помимо использования, когда это не нужно или необходимо. (например, небольшие/не сложные проекты)
Спасибо
У меня может быть глупый вопрос о DDD: Есть ли какие-то недостатки в генералитете DDD? Я имею в виду, помимо использования, когда это не нужно или необходимо. (например, небольшие/не сложные проекты)
Спасибо
Эрик Эванс сказал в презентации JavaOne, что DDD лучше всего применимо, если существует сложная задача лота. Более того, он явно заявляет, что DDD не подходит для проблем, где существенная техническая сложность , но, которая имеет небольшую сложность бизнес-домена. Примером более поздней является встроенная система с очень простыми входами (возможно, независимая от количества состояний, которыми она обладает), одновременно представляя большую техническую сложность (с точки зрения обеспечения работоспособности оборудования).
Как мы собираемся количественно определить много или немного, что открытая тема. Но повествование должно работать как ориентир того, когда и где DDD лучше всего подходит.
- изменить -
Я получил видео-презентацию через Emule, и мне никогда не удавалось найти ту же лекцию на YouTube или подобных видео-площадках.
Я нашел это обсуждение DDD в Руководство по архитектуре приложений Microsoft, чтобы помочь понять проблемы этого конкретного стиля:
Поскольку ядром программного обеспечения является модель домена, которая является прямой проекция этого общего языка, это позволяет команде быстро найти пробелы в программном обеспечении путем анализа язык вокруг него. Создание общий язык - это не просто упражнение в принятии информации от экспертов домена и его применения. Довольно часто проблемы связив рамках команд разработки только для недопонимания языка домена, но также из-за факт, что язык домена сам двусмысленный. Домен, управляемый Процесс проектирования имеет целью не только внедрения языка используется, но также улучшается и совершенствуется язык домена. Это в превратить преимущества программного обеспечения в поскольку модель является прямой проекция языка домена.
Чтобы помочь поддерживать модель как чистая и полезная языковая конструкция, вы должны, как правило, сделка изоляции и инкапсуляции в рамках модели домена. Вследствие этого, система, основанная на проекте Driven Driven Design может достигать относительно высокой стоимости. В то время как управление Dr Driven Design многие технические преимущества, такие как ремонтопригодность, следует применять только для сложных областей, где модель и лингвистические процессы обеспечивают явные преимущества в коммуникация сложной информации, и в формулировании общей понимание домена.
Очень легко сделать это неправильно.
На итальянской конференции я рассказал о теме (см. эти слайды).
Проекты DDD требуют экспертов домена, которые часто дорого нанимаются, поскольку они содержат ценные знания (читайте, если вам не нужен эксперт домена, вам не нужен DDD).
Кроме того, DDD требует сильных навыков на стороне модельера. В частности, они должны быть:
Поиск таких разработчиков может быть намного дороже, чем ожидалось, поскольку вы действительно можете знать, что они хорошо справляются с работой после нескольких месяцев испытаний.
Например, простейший шаблон Transaction Script не включает в себя модель домена.