【DDD】初识领域驱动设计

领域驱动设计(DDD)是一种软件开发方法,强调通过业务领域模型来指导设计。其优点在于更贴近对象设计,但设计复杂,涉及聚合根、领域边界等概念。模型分为失血、贫血、充血和胀血四种类型。失血模型中,业务逻辑在service层;贫血模型增加实体关联和操作;充血模型让service仅组装模型方法,通过事件处理外部操作;胀血模型则移除service,直接在领域逻辑中处理事务。
摘要由CSDN通过智能技术生成

领域驱动设计

优点:更贴近与面向对象设计:由实例对象发出动作(执行实例方法)然后影响实例关联实体的数据
不足:设计复杂(聚合根、域边界、友好的持久化注入、实现架构例子不多)、对于传统mvc架构不易理解
与传统设计mvc模式的比较:

领域驱动设计模型

模型设计分类:失血模型、贫血模型、充血模型、胀血模型。

失血模型

只包含实体类基本属性的get/set方法,业务逻辑与实体关联mvc模式的service层实现

贫血模型

在失血模型基础上加入了实体关联关系比如订单Order包含多个商品List<Commodity> commoditys,并且订单对应的下单、退单、订单完成相关操作修改商品状态依赖Order实体中的对应的方法修改订单与商品状态,完成后返回到service完成持久化操作
service->model->service->dao

充血模型

在贫血模型的基础上,增加了持久化操作,service只作为模型方法的组装,不进行额外的持久化|逻辑操作,对于领域外的其他业务操作通过发布spring内置事件(event)的形式进行操作
service->model->dao->数据库

胀血模型

取消了service,在domain ligic上实现事务操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值