我很好奇,领域驱动设计和模型驱动架构有什么区别?我的印象是他们有某些相似之处。
你能启发我吗?
Thanks
不要不同意上面的大部分内容,尽管它可能值得稍微扩展一下。
DDD 中最重要的一个概念是关注问题域。将对技术的痴迷放在一边,主要集中于对您要解决的问题进行建模。因此,将 ajax、ORM、数据库、框架等置于后台,首先确保您拥有一个完整、准确的问题模型。 (当然,您仍然需要架构组件 - 但它们明确地服从于模型)。 DDD 称之为“无处不在的语言”——一种用领域专家和开发人员都使用和理解的术语来表达的模型。一种模型,其中类、方法等的名称取自问题域。
DDD 并不强制要求/如何/捕获该模型,尽管本书暗示使用 OO 语言来做到这一点。
MDA 共享同样的概念,即首先对问题域进行建模(PIM,平台独立模型)。与 DDD 不同,它建议使用 UML 创建该模型。但目的是相同的:理解问题域,而不用(软件)架构问题来污染它。
MDA 的 PSM(平台特定模型)有点类似于应用 DDD 中的架构模式(例如聚合、存储库等)。同样,尽管具体细节有所不同,但两者都旨在解决将“纯”问题域模型转换为完整软件系统的问题。
总结起来,我想说它们在两个方面是相似的:
- 模型的中心地位(正如 @Rui 所说) - 特别是 /Domain/ 模型。
- 将架构模式应用于模型以实现目标系统。
hth.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)