聚合路由领域设计

0、聚合就是一组对象组合。

  • 0.0 聚合是一组关联对象,我们将其视为一个单元,用于数据更改。
  • 0.1 每个aggregate都有一个根和一个边界
    • 0.1.0 边界定义了聚集内部的内容。
    • 0.1.1 根是包含在聚合中的单个特定的entity(User , Order)。
  • 0.2 聚合根是聚合中唯一允许外部对象持有引用的成员,尽管边界内的对象可能持有对彼此的引用。
  • 0.3 根以外的实体具有本地身份,但该身份仅需要在聚合内可区分,因为没有外部对象可以访问根实体的上下文

1、为什么引入聚合?

  • 1.1 保证多个更改的一致性应用于一组对象,强调局和内部的一致性。
  • 1.2 对象之间会有复杂的关联关系,保证事务的一致性比较难
  • 1.3 需要维护不变的对象,而不仅仅是离散对象。

2、聚合规则

  • 1.1 保护聚合边界内的不变量。private
  • 1.2 将聚合设计为越小越好。(减小出现问题的排查量,更容易执行一致性规则,和其他聚合交互时出现并发冲突的可能性更小)
  • 1.3 仅按身份/Id 引用其他聚合。(Entity ->Id)
  • 1.4 用域事件更新其他聚合。(从另一个聚合更新一个聚合)

3、最终一致性

  • 3.1 如果你需要即时的一致性,合并对象到一个聚合。
  • 3.2 如果您可以容忍EVENTUAL一致性,请使用域事件
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值