回答
不要不同意上面的大多数,虽然它可能值得扩展一点。
DDD中最重要的概念是关注问题领域。把技术困惑放在一边,主要集中在建模你想要解决的问题上。因此,将Ajax,ORM,数据库,框架等置于后台,并首先确保您拥有完整,准确的问题模型。 (当然,您仍然需要架构组件 - 但它们明确地服从模型)。 DDD将此称为“无处不在的语言” - 这是一种以领域专家和开发人员所使用和理解的术语表达的模型。一个模型,其中类的名称,方法等来自问题域。
DDD并未强制要求/如何/您如何捕捉该模型,尽管本书暗示使用OO语言来完成此操作。
MDA共享的问题领域相同的概念(PIM,平台无关模型)。与DDD相反,它建议使用UML创建该模型。但意图是一样的:理解问题领域而不用(软件)架构问题玷污它。
MDA的PSM(平台特定模型)有点类似于在DDD中应用体系结构模式(例如聚集,存储库等)。再次 - 尽管具体情况不同 - 两者都旨在解决将“纯”问题域模型转换为完整软件系统的问题。
所以总结,我会说,他们是在两个方面相似:
- 模型的核心地位(如@Rui说) - 特别是/域/模型。
- 将架构模式应用于模型以实现目标系统。
hth。
两个领域驱动设计(DDD)和模型驱动架构(MDA)的根是模型驱动工程(MDE),也被称为模型驱动的软件开发(MDSD)如果仅限于软件开发领域。参见Wikipedia:http://en.wikipedia.org/wiki/Model-driven_development
MDE下的所有方法都有一个共同点:模型。这个模型如何实现取决于特定的MDE风格。
MDA被认为过于复杂。一些人认为DDD太抽象了。我个人最喜欢的MDE实现是DSM和ABSE(未在维基百科文章中列出)。
DDD即将从商业角度接近软件解决方案,旨在使设计尽可能地接近现实世界。这比艺术更像是一门艺术。
MDA解决了不同的一系列问题。更多细节在这里:http://xml.coverpages.org/OMG-MDAFAQfinal1.pdf
工程是一门艺术:) – 2015-06-26 06:32:36
- 1. 模型驱动开发vs模型驱动架构vs模型驱动工程
- 2. 数据驱动vs事件驱动模型/架构?
- 3. MDA:模型驱动架构
- 4. 域驱动设计
- 5. Django和域驱动设计
- 6. 域驱动设计isDirty,isNew
- 7. 滥用域驱动设计
- 8. 实施域驱动设计
- 9. 域驱动设计问题
- 10. 域驱动的设计模式澄清
- 11. 状态模式和域驱动设计
- 12. 模型驱动vs模板驱动角2 2
- 13. 域驱动设计和域事件
- 14. 设计方法(域驱动或服务驱动)
- 15. 对象模型在领域驱动设计中的重要性
- 16. 域驱动设计:经理和服务
- 17. 域驱动设计令人困惑
- 18. 域驱动设计中的服务
- 19. .NET域驱动设计和CSLA.NET
- 20. 使用域驱动设计的node.js
- 21. 了解领域驱动设计
- 22. 域驱动设计和聚合引用
- 23. 域驱动设计布局问题
- 24. IoC容器和域驱动设计
- 25. 域驱动设计和文件存储
- 26. 在实体领域驱动设计
- 27. 域驱动设计 - 常见行为
- 28. 域驱动设计应用服务
- 29. 域驱动设计的缺点?
- 30. 域名驱动设计评判
如果您可以为您已完成的研究提供一些背景知识,它可能会帮助人们回答这个问题。 – 2010-11-12 16:34:18