DDD 领域驱动设计

1.事件风暴

事件既事实,既在业务领域中已经发生的事件。
在这里插入图片描述
分析“已下单”
在这里插入图片描述
下面是用户点餐的分析
在这里插入图片描述

微服务设计:

1.先根据事件风暴进行领域建模
领域建模是将系统分了多个子域,每个子域有独立的业务场景。
2.基于领域建模进行上下文的设计。
每个子域的实现就是“限界上下文”,子域之间的联系就是上下文地图。

在这里插入图片描述

在这里插入图片描述

领域事件通知

异步消息通知各个微服务
在这里插入图片描述

在这里插入图片描述

聚合

聚合根唯一入口
在这里插入图片描述

判断是不是聚合

在这里插入图片描述

工厂

在这里插入图片描述

仓库

在这里插入图片描述
如果创建订单;
订单中会保存多个订单明细,通过仓库进行统一的保持

在这里插入图片描述

通过仓库来查询
在这里插入图片描述

查询订单

在这里插入图片描述

贫血模型设计VS充血模型

比如订单这个领域,
贫血:订单详情,订单都是各自的DAO,service
充血:只有订单Service,订单和订单详情同时增删改,数据的返回有仓库,调用各自的DAO,拼接好数据后进行返回。由于有些场景需要查订单明显,通过订单来查比较麻烦,可以直接查订单详情的数据。
在这里插入图片描述

查询难题

多个微服务提供数据后拼接。为了提高效率,可以增加一些关联性的冗余字段

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值