领域实体

  1. 唯一ID
  2. 有状态

领域事件

  1. 事件是特殊的实体
  2. 事件驱动其他实体状态发生变化
  3. 事件有执行步骤
    1. INIT:关联实体初始化
    2. PREPARE:业务校验
    3. PROCESS:业务处理
    4. FINISH:资源回收

领域事件 Manger

  1. 负责将领域事件推进到终态
  2. 支持断点执行
    1. 结合事件的四个步骤
    2. 已执行的步骤不再重复执行——分布式下幂等
      1. 以防不同时间的执行结果不同-会员状态
  3. 定义事件执行的模式
    1. 同步
    2. 异步
  4. 包装资损防控的步骤
    1. 幂等、锁、异步命令一致性保障

支付域实体模型

订单实体

  1. 针对一笔业务订单,做金额盖帽、收付平衡性校验

    支付操作、支付流水

  2. 订单是实体

  3. 操作事件驱动订单状态变化
    1. 单流水依附于操作而存在
    2. 多流水操作需要有自己的ID

      实体Repository 仓储层

实体工厂