网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

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

时间:2024-12-25 15:43

人气:

作者:admin

标签:

导读:1 什么是DDD 领域驱动设计,即Domain Driven Design(DDD)。 DDD是一套完整而系统的设计理论与方法,使得你的设计思路能够更加清晰,设计过程更加规范。 DDD 善于处理与领域相关的拥有高复...

1 什么是DDD

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

  • DDD是一套完整而系统的设计理论与方法,使得你的设计思路能够更加清晰,设计过程更加规范。
  • DDD 善于处理与领域相关的拥有高复杂度业务的产品开发

总之,DDD是专门为解决复杂性而诞生一套完整的理论方法。

DDD落地实现离不开Clean架构、六边形架构、CQRS、Event Source等思想。

2 DDD相关概念

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

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

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信