Я хотел бы знать, если есть какая-то разница между:Различия между DDD и MDD
Domain Driven Design (DDD) Model Driven Design (MDD) Я всегда нахожу эти два термина во многих статьях и общественной литературы , но никто не подчеркивает различия.
Я хотел бы знать, если есть какая-то разница между:Различия между DDD и MDD
Domain Driven Design (DDD) Model Driven Design (MDD) Я всегда нахожу эти два термина во многих статьях и общественной литературы , но никто не подчеркивает различия.
Два подхода к дизайну очень похожи. Проверить эту ссылку StackOverflow некоторые большие, подробные ответы на эту тему:
Domain Driven Design vs Model Driven Architecture
Суммируя ответы в ссылке, оба подхода сосредоточиться на моделировании точно проблему до разработки решения. В целом, DDD считается более абстрактным, без специально предложенных технологий или инструментов проектирования. MDD/MDA рассматривается более конкретно, с предложениями использовать UML для проектных работ.
Downvoter, не могли бы вы объяснить, что вам не нравится, так что ответы на вопрос могут быть улучшены? –
Я не занимался ниспроверкой, но распространенная практика заключается в том, чтобы отмечать вопрос как повторяющийся, а не отвечать на другой вопрос. – plalx
Спасибо, plalx!Это определенно похоже на дубликат, но у меня нет комментариев, чтобы комментировать или отмечать вопросы :) –
Я лично нахожу MDA и DDD довольно далеко друг от друга.
MDA фокусируется на создании различных моделей, которые описывают программные системы на разных уровнях. Он поощряет использование UML для этих моделей, и может быть много моделей, созданных для описания довольно сложных систем с разных точек зрения. Были созданы некоторые решения, такие как Rational Rose, для создания программного обеспечения из моделей и синхронизации их с кодом.
В то же время MDA ничего не говорит о том, как вы общаетесь с бизнесом, чтобы понять свою проблемную область. Все MDA фокусируется на области решений.
DDD, с другой стороны, гораздо больше знает о домене и о языке. Короче говоря, многие описывают DDD как «развитие вездесущего языка внутри ограниченных контекстов». Вам предлагается поговорить с экспертами домена и понять, что они говорят. Вам нужно определить контексты, где эти термины имеют смысл, поскольку разница в терминологии в разных контекстах может быть чрезвычайно различной. Каждый контекст затем изолируется в высокосвязный компонент, а состав этих компонентов образует полную систему.
В DDD есть много тактических паттернов, таких как совокупный корень, объект, объект ценности, хранилище и фабрика. Но их главная цель - дать разработчикам некоторые инструменты для создания правильных абстракций, которые могут инкапсулировать знания домена без ущерба для читаемости кода.
Важнейшая часть DDD - это стратегические шаблоны, такие как ограниченный контекст, контекстная карта и вездесущий язык. Если вы не используете это - у вас нет DDD. И это не имеет значения, какие обозначения вы используете для рисования диаграмм (некоторые просто используют липкие заметки), это совершенно вторично.
Возможный дубликат [Domain Driven Design vs Model Driven Architecture] (http://stackoverflow.com/questions/4166816/domain-driven-design-vs-model-driven-architecture) – plalx
В то же время нет действительно хорошие ответы там ... –
Я читаю книгу «Domain Driven Design». В книге автор использует DDD и MDD взаимозаменяемо, поэтому я думаю, что они - одно и то же? – shintaroid