Что такое предметно-ориентированный дизайн?[закрыто]

StackOverflow https://stackoverflow.com/questions/100995

  •  01-07-2019
  •  | 
  •  

Вопрос

Итак, я получил этот вопрос от одного из разработчиков в моей команде:Что такое предметно-ориентированный дизайн?Я, конечно, мог бы указать на книгу Эванса, но действительно ли это ответ?

Как бы вы в нескольких предложениях объяснили DDD младшим инженерам-программистам в вашей команде?

Это было полезно?

Решение

Я бы сказал, что эта практика способствует концентрации ваших усилий на «пространстве проблем», а не на «пространстве решений».Разработка нового решения (дизайна) путем изучения и действительного изучения и понимания предметной области.Одним из приемов (взятым из XP) будет написание историй, происходящих в проблемной области.Из них вы можете определить варианты использования и объекты для вашего дизайна.Они «появляются» и сообщают вам, что должно быть в решении и как им нужно будет взаимодействовать друг с другом.

Другие советы

У InfoQ есть бесплатная электронная книга:

Быстрое проектирование на основе предметной области

Это хорошее чтение с множеством примеров.

В процессе открытия «домена» вы формируете общий язык, который понимают как разработчики, так и все остальные участники проекта.

Модель предметной области и ее «жаргон» вполне заметны в исходном коде готового продукта.Это по крайней мере мой опыт

Важной частью DDD является так называемый вездесущий язык;то естьговорить на одном языке с бизнес-экспертами.И сделайте свой код/архитектуру так, чтобы он отражал этот язык, чтобы избежать проблем с импедансом.

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

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

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

Для меня это следующий уровень ООД/ООП, где инкапсуляция касается проблемного пространства, описанного и понятного пользователями, а не столько технической реализации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top