加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

域驱动设计 – DDD和MDD之间的差异

发布时间:2020-12-14 05:02:17 所属栏目:百科 来源:网络整理
导读:我想知道之间是否有任何区别: 领域驱动设计(DDD) 模型驱动设计(MDD) 我总是在许多文章和公共文献中找到这两个术语,但没有人强调这些差异. 解决方法 我个人觉得MDA和DDD相距很远. MDA专注于创建不同类型的模型,用于描述不同级别的软件系统.它鼓励对这些模型
我想知道之间是否有任何区别:

领域驱动设计(DDD)
模型驱动设计(MDD)
我总是在许多文章和公共文献中找到这两个术语,但没有人强调这些差异.

解决方法

我个人觉得MDA和DDD相距很远.

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

与此同时,MDA没有说明您如何与业务沟通以了解其问题域.所有MDA都关注的是解决方案领域.

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

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

DDD最重要的部分是战略模式,如有界上下文,上下文映射和无处不在的语言.如果你不使用它 – 你没有DDD.并不重要,你使用哪种符号来绘制图表(有些只是使用粘滞便笺),这完全是次要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读