美文网首页
第一节 DDD相关概念

第一节 DDD相关概念

作者: 农民工进城 | 来源:发表于2021-12-28 18:12 被阅读0次
  • 什么是DDD
  • DDD相关概念

1.1什么是DDD

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

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

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

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

1.2 DDD相关概念

DDD有很多晦涩难懂,一一列举下,按照自己的理解,解释下,不一定准确。

  • 领域:用来限定业务边界和范围

  • 子域:领域进一步划分就是子域

  • 核心域:核心域应该就是公司的主要业务,简单来说就是公司最盈利的业务。

  • 通用域:见明知意,就是不管什么业务,都会涉及到比较通用的范畴,例如登录、授权、网关等。随着业务的发展也可能发展成为核心域。

  • 支撑域:支撑业务系统正常运行的业务,但是不处于核心地位。优先级较低,当然随着业务的发展也可能发展成为核心域;例如:物流对于淘宝来说一开始就是支撑域,后来发展成为了核心域

  • 通用语言:在事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确描述业务涵义和规则的语言

  • 限界上下文:通用语言和领域对象,提供的上下文环境,保证在领域之内的一些术语、业务相关对象等(通用语言)只有唯一一个确切的含义。领域边界就是通过限界上下文来定义的,是划分微服务的重要依据。

  • 聚合:由业务和逻辑紧密关联的实体和值对象组合而成的。聚合是数据修改和持久化的基本单元,每一个聚合对应一个仓储,实现数据的持久化特点:高内聚、低耦合,它是领域模型中最底层的边界,可以作为拆分微服务的最小单位

  • 聚合根:如果把聚合比作组织,聚合根则是组织的负责人,聚合根也叫做根实体,它不仅仅是实体,还是聚合的管理者

  • 实体:有 ID 标识,通过 ID 判断相等性,ID 在聚合内唯一即可。

  • 值对象 :无 ID,不可变,无生命周期,用完即扔

  • 领域事件:领域事件是领域模型中非常重要的一部分,用来表示领域中发生的事件。一个领域事件将导致进一步的业务操作,在实现业务解耦的同时,还有助于形成完整的业务闭环,可以通过event,mq等实现,达到最终一致性,和解耦目的


    image.png

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

相关文章

  • 第一节 DDD相关概念

    什么是DDD DDD相关概念 1.1什么是DDD 领域驱动设计,即Domain Driven Design(DDD...

  • BOSS 应用DDD的 一些基础概念

    本文是以最简单的方式去叙述DDD的概念。DDD 与 微服务 是紧密相关的, 所以必须是先了解 DDD 的方式才比较...

  • DDD概念

    DDD是架构设计的一种方法论,在2004年埃里克·埃文斯(Eric Evans)发表了《领域驱动设计》,DDD一直...

  • DDD概念

  • DDD概念

    问题空间定义:真实世界利用核心子领域、通用子领域、支撑子领域来分解问题空间问题空间:价值需求+业务需求(业务功能、...

  • DDD分层架构的三种模式

    引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识。 DDD DDD(Domain...

  • 还在搞三层架构?了解下 DDD 分层架构的三种模式吧

    引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识。 DDD DDD(Domain...

  • ddd

    DDD理解:基本概念:DDD战略思想:领域、子领域、限界上下文、通用语言、下文映射图、架构风格DDD战术实现:聚合...

  • DDD概念篇

    从18年团队开始转型微服务架构,会想起来,总结2个字,就是“生拆”。只要是能够独立的业务模块或是可复用的组件,都拆...

  • DDD的概念

    实体 有唯⼀标志的核⼼领域对象,且这个标志在整个软件⽣命周期中都不会发⽣变化。这个概念和我们平时软件模型中和数据库...

网友评论

      本文标题:第一节 DDD相关概念

      本文链接:https://www.haomeiwen.com/subject/feshqrtx.html