DDD领域设计的相干概念简述

火影  金牌会员 | 2024-12-25 17:10:07 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 850|帖子 850|积分 2550

1 什么是DDD

领域驱动设计,即Domain Driven Design(DDD)。

  • DDD是一套完整而体系的设计理论与方法,使得你的设计思路能够更加清楚,设计过程更加规范。
  • DDD 善于处置惩罚与领域相干的拥有高复杂度业务的产品开发
总之,DDD是专门为办理复杂性而诞生一套完整的理论方法。
DDD落地实现离不开Clean架构、六边形架构、CQRS、Event Source等思想。
2 DDD相干概念


  • 领域:用来限定业务边界和范围
  • 子域:领域进一步划分就是子域
  • 核心域:核心域应该就是公司的重要业务,简朴来说就是公司最红利的业务。
  • 通用域:见明知意,就是不管什么业务,都会涉及到比较通用的范畴,例如登录、授权、网关等。随着业务的发展也可能发展成为核心域。
  • 支持域:支持业务体系正常运行的业务,但是不处于核心地位。优先级较低,当然随着业务的发展也可能发展成为核心域;例如:物流对于淘宝来说一开始就是支持域,后来发展成为了核心域
  • 通用语言:在事件风暴过程中,通过团队交流达成共识的,能够简朴、清楚、准确描述业务涵义和规则的语言
  • 限界上下文:通用语言和领域对象,提供的上下文环境,保证在领域之内的一些术语、业务相干对象等(通用语言)只有唯一一个确切的含义。领域边界就是通过限界上下文来定义的,是划分微服务的重要依据。
  • 聚合:由业务和逻辑精密关联的实体和值对象组合而成的。聚合是数据修改和长期化的基本单元,每一个聚合对应一个仓储,实现数据的长期化特点:高内聚、低耦合,它是领域模型中最底层的边界,可以作为拆分微服务的最小单位。
  • 聚合根:如果把聚合比作组织,聚合根则是组织的负责人,聚合根也叫做根实体,它不仅仅是实体,照旧聚合的管理者。
  • 实体:有 ID 标识,通过 ID 判断相等性,ID 在聚合内唯一即可。
  • 值对象:无 ID,不可变,无生命周期,用完即扔。
  • 领域事件:领域事件是领域模型中非常重要的一部门,用来表现领域中发生的事件。一个领域事件将导致进一步的业务操作,在实现业务解耦的同时,还有助于形成完整的业务闭环,可以通过event,mq等实现,达到最终一致性,和解耦目的。

跨多个实体的业务逻辑通过领域服务来实现;
跨多个聚合的业务逻辑通过应用服务来实现;


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

火影

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表