首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >领域驱动设计与模型驱动架构

领域驱动设计与模型驱动架构
EN

Stack Overflow用户
提问于 2010-11-13 00:30:03
回答 4查看 18.9K关注 0票数 48

我很好奇,领域驱动设计和模型驱动架构有什么不同?我的印象是他们有一些相似之处。

你能开导我一下吗?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-13 06:00:45

请不要反对上面的大多数观点,尽管它可能值得稍微扩展一下。

DDD中最重要的一个概念是关注问题域。把对技术的痴迷放在一边,主要专注于对你试图解决的问题进行建模。因此,把ajax,ORMs,数据库,框架等放在后台,首先要确保你有一个完整的,准确的问题模型。(当然,您仍然需要架构组件-但它们明确地从属于模型)。DDD将这种“无处不在的语言”称为“无处不在的语言”--这是一种用领域专家和开发人员共同使用和理解的术语表示的模型。一个模型,其中类、方法等的名称取自问题域。

DDD没有强制/如何/您捕获该模型,尽管这本书暗示使用OO语言来实现。

MDA共享首先对问题域进行建模的相同概念( PIM,平台独立模型)。与DDD相反,它建议使用UML创建该模型。但是意图是相同的:理解问题域,而不用(软件)架构问题来污染它。

MDA的PSM (平台特定模型)在某种程度上类似于在DDD中应用架构模式(例如,聚合、存储库等)。同样,尽管在细节上有所不同,但两者的目标都是解决将“纯”问题域模型转换为完整软件系统的问题。

总而言之,我想说它们在两个方面是相似的:

域模型的中心性(正如@Rui所说的)--具体地说,就是将// model.

  1. Applying体系结构模式添加到模型中,以实现目标系统。

hth。

票数 44
EN

Stack Overflow用户

发布于 2010-11-13 02:23:14

域驱动设计(DDD)和模型驱动体系结构(MDA)的根源都是模型驱动工程(MDE),如果限于软件开发领域,也称为模型驱动软件开发(MDSD)。请参阅维基百科:http://en.wikipedia.org/wiki/Model-driven_development

所有属于MDE的方法都有一个共同点:模型。此模型的实现方式取决于特定的MDE风格。

MDA被认为过于复杂。有些人认为DDD太抽象了。我个人最喜欢的MDE实现是DSM和ABSE (没有在Wikipedia文章中列出)。

票数 7
EN

Stack Overflow用户

发布于 2010-11-13 02:47:16

DDD是从业务角度来处理软件解决方案,目的是使设计尽可能接近现实世界。与其说这是一门工程,不如说是一门艺术。

MDA解决了不同的问题。更多详细信息请访问:http://xml.coverpages.org/OMG-MDAFAQfinal1.pdf

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4166816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档