DDD学习笔记---如何保证领域模型与代码模型的一致性?

本文探讨了微服务拆分后如何整理领域模型,重点在于领域对象的分类,如聚合、实体、命令和领域事件。通过事件风暴提炼出的领域模型,形成微服务代码结构。个人客户领域的例子展示了如何从聚合根到实体的细化,并建立领域对象与微服务代码对象的映射关系,最终实现微服务的代码结构设计。
摘要由CSDN通过智能技术生成

领域对象的整理

完成微服务拆分后,领域模型的边界和领域对象就基本确定了。

我们第一个重要的工作就是,整理事件风暴过程中产生的各个领域对象,比如:聚合、实体、命令和领域事件等内容,将这些领域对象和业务行为记录到下面的表格中。

你可以看到,这张表格里包含了:领域模型、聚合、领域对象和领域类型四个维度。一个领域模型会包含多个聚合,一个聚合包含多个领域对象,每个领域对象都有自己的领域类型。领域类型主要标识领域对象的属性,比如:聚合根、实体、命令和领域事件等类型。

从领域模型到微服务的设计

领域对象与微服务代码对象的映射

典型的领域模型

个人客户领域模型中的个人客户聚合,就是典型的领域模型,从聚合内可以提取出多个实体和值对象以及它的聚合根。

我们看一下下面这个图,我们对个人客户聚合做了进一步的分析。提取了个人客户表单这个聚合根,形成了客户类型值对象,以及电话、地址、银行账号等实体,为实体方法和服务做了封装和分层,建立了领域对象的关联和依赖关系,还有仓储等设计。关键是这个过程,我们建立了领域对象与微服务代码对象的映射关系。

在建立这种映射关系后,我们就可以得到如下图的微服务代码结构了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值