我很好奇,领域驱动设计和模型驱动架构有什么不同?我的印象是他们有一些相似之处。
你能开导我一下吗?
谢谢
发布于 2010-11-13 06:00:45
请不要反对上面的大多数观点,尽管它可能值得稍微扩展一下。
DDD中最重要的一个概念是关注问题域。把对技术的痴迷放在一边,主要专注于对你试图解决的问题进行建模。因此,把ajax,ORMs,数据库,框架等放在后台,首先要确保你有一个完整的,准确的问题模型。(当然,您仍然需要架构组件-但它们明确地从属于模型)。DDD将这种“无处不在的语言”称为“无处不在的语言”--这是一种用领域专家和开发人员共同使用和理解的术语表示的模型。一个模型,其中类、方法等的名称取自问题域。
DDD没有强制/如何/您捕获该模型,尽管这本书暗示使用OO语言来实现。
MDA共享首先对问题域进行建模的相同概念( PIM,平台独立模型)。与DDD相反,它建议使用UML创建该模型。但是意图是相同的:理解问题域,而不用(软件)架构问题来污染它。
MDA的PSM (平台特定模型)在某种程度上类似于在DDD中应用架构模式(例如,聚合、存储库等)。同样,尽管在细节上有所不同,但两者的目标都是解决将“纯”问题域模型转换为完整软件系统的问题。
总而言之,我想说它们在两个方面是相似的:
域模型的中心性(正如@Rui所说的)--具体地说,就是将// model.
hth。
发布于 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文章中列出)。
发布于 2010-11-13 02:47:16
DDD是从业务角度来处理软件解决方案,目的是使设计尽可能接近现实世界。与其说这是一门工程,不如说是一门艺术。
MDA解决了不同的问题。更多详细信息请访问:http://xml.coverpages.org/OMG-MDAFAQfinal1.pdf
https://stackoverflow.com/questions/4166816
复制相似问题