Мне любопытно, каковы различия между Domain Driven Design и Model Driven Architecture? У меня сложилось впечатление, что у них есть определенное сходство.Домен Driven Design vs Model Driven Architecture
Не могли бы вы просветить меня?
Благодаря
Мне любопытно, каковы различия между Domain Driven Design и Model Driven Architecture? У меня сложилось впечатление, что у них есть определенное сходство.Домен Driven Design vs Model Driven Architecture
Не могли бы вы просветить меня?
Благодаря
Не соглашайтесь с большинством вышеперечисленных, хотя, возможно, стоит немного расширить.
Единственная самая важная концепция в DDD - сосредоточиться на проблемной области. Поставить одержимость технологией в сторону и сконцентрироваться прежде всего на моделировании проблемы, которую вы пытаетесь решить. Поэтому поместите ajax, ORM, базы данных, фреймворки и т. Д. В фоновый режим и вместо этого убедитесь, что у вас есть полная и точная модель проблемы в первую очередь. (Конечно, вам все еще нужны архитектурные компоненты, но они явно подчиняются модели). DDD называет этот «вездесущий язык» - модель, выраженная в терминах экспертов и разработчиков домена, которые используют и понимают. Модель, в которой имена классов, методов и т. Д. Взяты из проблемной области.
DDD не предусматривает/как/вы захватываете эту модель, хотя книга подразумевает использование языка OO для этого.
MDA разделяет то же самое понятие моделирования проблемной области в первую очередь (PIM, независимая от платформы модель). В отличие от DDD, он рекомендует создать эту модель с помощью UML. Но намерение одно и то же: понять проблемную область, не заражая ее (программными) архитектурными задачами.
MDA PSM (модель, ориентированная на платформу) несколько похожа на применение архитектурных шаблонов в DDD (например, агрегат, репозиторий и т. Д.). Опять же - в то время как разные по своей специфике - оба направлены на решение проблемы преобразования «чистой» модели проблемной области в полную программную систему.
Итак подводя итог, я бы сказал, что они похожи двумя способами:
hth.
Корень как Domain-Driven Design (DDD) и Model Driven Architecture (MDA) является Model-Driven Engineering (MDE), также известный как Model-Driven Development Software (MDSD), если ограничено домен разработки программного обеспечения. См. Википедия: http://en.wikipedia.org/wiki/Model-driven_development
Все подходы, подпадающие под зонтик MDE, имеют одну общую черту: модель. Как материализуется эта модель, зависит от конкретного вкуса MDE.
MDA считается чрезмерно сложным. Некоторые из DDD считаются слишком абстрактными. Мои личные любимые реализации MDE - DSM и ABSE (не указаны в статье в Википедии).
DDD собирается приблизиться к программному решению с точки зрения бизнеса с целью максимально приблизить дизайн к реальному миру. Это больше искусство, чем инженерное дело.
MDA решает различные проблемы. Подробнее здесь: http://xml.coverpages.org/OMG-MDAFAQfinal1.pdf
Техника - искусство :) –
Это может помочь людям ответить на этот вопрос, если вы могли бы предоставить немного фона в исследование, которое вы уже сделали. –