gpt4 book ai didi

domain-driven-design - DDD 和 MDD 的区别

转载 作者:行者123 更新时间:2023-12-04 08:23:02 25 4
gpt4 key购买 nike

我想知道两者之间是否有任何区别:

领域驱动设计 (DDD)
模型驱动设计 (MDD)
我总是在许多文章和公共(public)文献中找到这两个术语,但没有人强调它们的区别。

最佳答案

我个人觉得 MDA 和 DDD 相距甚远。

MDA 专注于创建不同类型的模型来描述不同级别的软件系统。它鼓励将 UML 用于这些模型,并且可能会产生很多这些模型来从不同的角度描述相当复杂的系统。创建了一些解决方案,例如 Rational Rose,从模型生成软件并使它们与代码保持同步。

同时,MDA 没有说明您如何与企业沟通以了解他们的问题领域。 MDA 所关注的是解决方案领域。

另一方面,DDD 更多的是关于领域和语言的知识。简而言之,许多人将 DDD 描述为“在有界上下文中开发通用语言”。我们鼓励您与领域专家交谈并了解他们在说什么。您需要定义这些术语有意义的上下文,因为不同上下文中的术语差异可能大不相同。然后将每个上下文隔离为一个高度内聚的组件,这些组件的组合形成一个完整的系统。

DDD 中有许多战术模式,如聚合根、实体、值对象、存储库和工厂。但他们的主要目标是为开发人员提供一些工具来创建适当的抽象,这些抽象可以在不影响代码可读性的情况下封装领域知识。

DDD 最重要的部分是战略模式,如限界上下文、上下文映射和无处不在的语言。如果你不使用这个 - 你没有 DDD。并且没关系,您使用哪种符号来绘制图表(有些只是使用便签),这完全是次要的。

关于domain-driven-design - DDD 和 MDD 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41981559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com