领域设计建模

领域驱动设计关注领域模型对象的职责分配、生命周期管理和协作方式。资源库模式用于持久化,隔离领域逻辑与数据库操作。聚合用于管理对象间关系,实体和值对象区分身份。领域事件则通过发布和订阅弱化对象间的依赖。这种建模哲学强调实体的身份、值对象的不变性和状态变迁的通知。
摘要由CSDN通过智能技术生成

领域设计建模关心领域模型对象的职责分配,生命周期管理,与外部环境之间的协作机制。

领域对象模型的四个问题与战术设计元模型:
领域模型对象如何实现数据的持久化?
资源库模式隔离了领域逻辑与数据库实现,并将领域模型对象当作生命周期管理的资源,将持久化领域对象的介质抽象为资源库。

领域模型对象的加载以及对象间的关系该如何处理?
领域驱动设计引入聚合划分领域模型对象的边界,并在边界内管理所有领域模型对象之间的关系,使其在对象的协作与完整性之间取得平衡。

领域模型对象在身份上是否存在明确的差别?
领域驱动设计使用实体与值对象区分领域模型对象的身份,避免了不必要的身份跟踪与额外的并发控制要求。

领域模型对象彼此之间如何能弱依赖地完成状态的变更通知?
领域驱动设计引入了领域事件,通过发布与订阅领域事件接触聚合与聚合之间的依赖,体现状态变迁的特性。

模型元素的哲学依据
实体:实体范畴,是谓语描述的主题。它包含了其他范畴,包括引起属性变化和状态迁移的动作;
值对象:为主体对象的属性,通常代表分量,性质,关系,场所,时间或位置/姿态;
领域事件:封装了主体的状态,代表了因为动作导致的状态变迁产生的被动遭遇,即过去发生的事实。
领域服务:其他范畴必须内居于一主体,若动作代表的业务行为无法找到一个主体对象来内居,就以领域服务作为特殊主体封装。

实体
能够以主体类型的形式表达领域逻辑中具有个性特征的概念,而这个主体的状态在相当长一段时间内会持续地变化,因此需要一个身份标识来标记。
实体3个要素
身份标识
属性
领域行为

值对象
在进行领域设计建模时,可优先考虑使用值对象而非实体对象建模。值对象没有唯一标识,设计为不变的,不用考虑并发访问带来的问题,因此比实体对象更容易维护,更容易测试,更容易优化。

与实体的本质区别
业务的参与者对它的相等判断是依据值还是依据身份标识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值