DCI架构的理解

DCI架构提出将业务逻辑与对象分离,通过角色来组织,降低了领域层与应用层的耦合。传统的DDD中,聚合根可能变成上帝类,而DCI则将聚合根拆分为多个角色,每个角色包含特定的属性和方法。Context依赖于角色,而不是直接耦合于聚合根,如在学校的场景中,Person对象可以扮演学生、工人和球员等不同角色,Context仅依赖于这些角色,从而减少了耦合。
摘要由CSDN通过智能技术生成

原始论文的地址:

artima - The DCI Architecture: A New Vision of Object-Oriented Programming

参考文章:

实现DCI架构_元闰子的博客-CSDN博客_dci架构

DDD里聚合根同时实现类的属性和方法,容易出现上帝类;基本想法是把biz和实体类相分离。

传统的ddd架构,领域层是纯oop模型,应用层使用领域层的聚合根来完成业务,DCI是把
对聚合根的直接耦合,变成了对角色的使用。聚合根本身被拆分为多个角色,每个有自己的属性和方法。
context依赖角色,聚合根组合角色。

// 纯DDD,聚合根是铁板一块,容易形成上帝类
school.entrance(Person p)
school.run()

// DCI,app层与domain层之间有了一个role的桥廊,app(context)不会耦合特别多的属性,只耦合少部分的行为
class StudentRole{
  // 学生的属性和方法
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值