DDD聚合

极客时间学习笔记

(1)聚合根内会定义引用的实体,在聚合根内部直接使用引用的实体属性或者方法,

这些实体的方法会被封装成领域服务或者应用服务,外界不需要关心这些实体内的属性或者方法实现;

(2)限界上下文是在分析并找出所有聚合后,将在同一个语义环境下的多个聚合组成限界上下文,也可以理解为完成同一个业务功能模块,它本质上就是子域;

(3)DDD领域建模优先,领域建模的时基本不考虑数据模型和数据库实现。在微服务具体落地的时候才考虑数据实体的设计。

(4)聚合内的实体数据维护是聚合根通过仓储来统一维护的;

(5)一个微服务一个库,微服务内的多个聚合可以共用一个库,但是尽量避免聚合之间的表关联,聚合之间的数据要做到松耦合;

(6)用户接口层大多是DTO,应用层和领域层大多是DO,基础层则是PO,在不同层之间是需要进行数据转换的;

(7)如果是应用服务直接调用文件或者缓存之类的,应用服务是可以之间调用仓储,但如果中间有领域实体和数据库,则需通过领域服务,然后通过聚合根来调用仓储。

(8)应用服务:位于应用层。用来表述应用和用户行为,负责服务的组合、编排和转发,负责处理业务用例的执行顺序以及结果拼装,对外提供粗粒度的服务。

(9)领域服务:位于领域层。领域服务封装核心的业务逻辑,实现需要多个实体协作的核心领域逻辑。它对多个实体或方法的业务逻辑进行组合或编排,或者在严格分层架构中对实体方法进行封装,以领域服务的方式供应用层调用。

(10)基础服务:位于基础层。提供基础资源服务,比如数据库、缓存等,实现各层的解耦,降低外部资源变化对业务应用逻辑的影响。基础服务主要为仓储服务,通过依赖倒置提供基础资源服务。

(11)领域服务和应用服务都可以调用仓储服务接口,通过仓储服务实现数据持久化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值