知识卡片
瞬态领域模型是聚合外无须持久化的纯粹领域概念
内容
领域服务、非事件溯源下的领域事件都无须持久化;聚合内的实体和值对象需持久化,否则不必引入资源库管理其生命周期。除此之外,设计时常发现一些游离在聚合边界外的领域对象:它们有自己的属性值、体现高内聚领域概念、遵循信息专家模式封装了操作自身信息的领域行为,但没有身份标识、无须持久化,如与HourlyEmployee交互、体现结算周期的Period类(封装成对起止日期并用构造函数限制创建以避免缺失)。这类未声明@Entity、无须持久化、不在聚合边界内的类称为瞬态类(transient class),其对象为瞬态对象;持久化领域类中无须持久化的字段称瞬态字段,用@Transient显式声明。瞬态类比聚合内实体/值对象更纯粹、不依赖任何外部框架,是真正的POJO,符合整洁架构思想。发散:聚合外的领域概念不是”漏网之鱼”,而是一类正当的、最纯粹的领域模型成员。
参考来源
- 位置:《解构领域驱动设计》第19章 19.2.3(源文件:_epub-src/OEBPS/032.xhtml)
- 结论依据:原文定义瞬态类/对象/字段,并指出其是真正的POJO、符合整洁架构。
- 原始内容:可将这样的类称为瞬态类(transient class),由此创建的对象则称为瞬态对象……它更加纯粹,无须依赖任何外部框架,属于真正的POJO类。