领域驱动基础知识点

本文探讨了领域驱动设计中的关键概念,包括核心域、通用域和支撑域的区分,统一语言的重要性,以及如何将业务词汇转化为代码模型。通过实例解析电商系统的结构,讲解了聚合根、值对象和领域服务的概念,以及DDD在系统创建中的步骤和实体设计的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

领域驱动基础知识点

核心域:是业务系统的核心。

通用域:是为整个业务系统提供支持服务。

支撑域:是专注于业务系统的某一重要业务,支撑完善业务系统。

统一语言:便于交流,方便设计。

语言中的动词,【付款、下单】可以转换为命令或领域事件

语言中的名词,【商品、订单】有时可以直接转换为代码中的模型、聚合、服务边界

举例:

电商系统:

销售子域:核心域

商品子域,物流子域:支撑域

领域服务:表述领域行为,是对应用服务的具体细分,具体的某一个环节

应用服务:表述应用行为,具体操作,从开始到结束的每个环节

比如购物车结算 就是一个应用行为,其中包含了:【价格计算,支付,生成订单等】

其中 支付、生成订单 就是应用服务中的某个领域服务

聚合根:为避免复杂数据模型缺少统一的业务规则限制,导致实体之间数据不一致的问题。

实体: 在领域模型中,都是转换为实体,聚合根也是一个实体。

值对象:模型中不可变的值就是属于值对象的一种定义,【比如pms中的商机编号,或表中的ID】

比如客户地址也属于值对象。

值对象的概念:不可更改的值,如有变动只能摧毁重建,且不能有多条,不需要ID标识唯一性】

比如:客户地址是值对象,如果客户地址有多个地址,则地址应设计为实体,不属于值对象

在使用DDD创建系统:

第一步:头脑风暴,会议讨论定义领域。

例:
在这里插入图片描述
第二步:设计实体和聚合。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值