DDD的概念

2022-08-03  本文已影响0人  嘘寒问暖

实体

有唯⼀标志的核⼼领域对象,且这个标志在整个软件⽣命周期中都不会发⽣变化。这个概念和我们平时软件模型中和数据库打交道的Model实例⽐较接近,唯⼀不同的是DDD中这些实体会包含与该实体相关的业务逻辑,它是操作⾏为的载体。

值对象

依附于实体存在,通过对象属性来识别的对象,它将⼀些相关的实体属性打包在⼀起处理,形成⼀个新的对象。

举个栗⼦:⽐如⽤户实体,包含⽤户名、密码、年龄、地址,地址⼜包含省市区等属性,⽽将省市区这些属性打包成⼀个属性集合就是值对象。

聚合

实体和值对象表现的是个体的能⼒,⽽我们的业务逻辑往往很复杂,依赖个体是⽆法完成的,这时候就需要多个实体和值对象⼀起协同⼯作,⽽这个协同的组织就是聚合。聚合是数据修改和持久化的基本单元,同⼀个聚合内要保证事务的⼀致性,所以在设计的时候要保证聚合的设计拆分到最⼩化以保证效率和性能。

聚合根

也叫做根实体,⼀个特殊的实体,它是聚合的管理者,代表聚合的⼊⼝,抓住聚合根可以抓住整个聚合。

领域服务

有些领域的操作是⼀些动词,并不能简单的把他们归类到某个实体或者值对象中。这样的⾏为从领域中识别出来之后应该将它声明成⼀个服务,它的作⽤仅仅是为领域提供相应的功能。

领域事件

在特定的领域由⽤户动作触发,表示发⽣在过去的事件。⽐如充值成功、充值失败的事件。

上一篇下一篇

猜你喜欢

热点阅读