一.领域驱动设计的过程

在这里插入图片描述

二.DDD的优势

在这里插入图片描述

三.战略建模VS战术建模

在这里插入图片描述

四.核心域/支撑子域/通用子域

一个业务系统一般只有一个核心域,其余的都是围绕核心域展开的。

在这里插入图片描述

五.理解限界上下文

在这里插入图片描述
在这里插入图片描述

上下文映射图

在这里插入图片描述

六.领域实体

在这里插入图片描述

七.实体和值对象

实体:表示那些具有生命周期并且会在其生命周期中发生改变的东西
值对象:表示起描述性作用的并且可以相互替换的概念

八.聚合

聚合:是指一堆对象的集合,对象之间具有密不可分的联系,他们是内聚在一起的。
使用原则:再一次事务中,最多只能更改一个聚合的状态。如果一次业务操作设计大了对多个聚合状态的更改该,那么应该采用发布领域实践的方式通知相应的聚合。(此时的数据一致性便从事务一致性变成了最终一致性)

九.聚合根

在这里插入图片描述

十.领域服务

三大特征:

  • 服务执行的操作代表了一个领域概念,这个领域概念无法自然地隶属于一个实体或者值对象
  • 被执行的操作涉及领域中的其他对象
  • 造作是无状态的

十一.资源库

资源库用于宝尊和获取聚合对象
资源库分为两种:
- 基于集合的(比如一个存在内存中的集合)
- 基于持久化的(存储在数据库或文件中)

十二.领域事件

领域事件是在一个特定领域由一个用户动作触发的,是发生在过去的行为产生的事件,而这个事件是系统中的其他部分或者联系系统感兴趣的。

十三.例子

一个宏观的电商引入的先享卡业务域

在这里插入图片描述