知识卡片

写模型是状态发生变化的目标对象

普通读书笔记卡 · 1980.j

内容

写模型(write model)就是状态发生了变化的目标对象,正是它状态的变更才导致事件触发;识别事件时甄别的特征就是「是否引起目标对象状态变化」,故识别出事件即已明确了写模型(用黄色即时贴表示)。写模型状态变化分三种形式:①从无到有创建新对象(OrderCreated);②修改属性(OrderCanceled改状态、CartItemAdded改内容);③从有到无删除(多数场景并非真删,而是改状态如MemberUnregistered、ProductRemoved)。写模型一旦变更就触发事件,因此该由写模型承担发布事件的职责——只有它才能侦知状态是否变更以及何时变更。发散:谁最清楚状态变了,谁就发事件;这与信息专家模式一脉相承。

参考来源

- 位置:《解构领域驱动设计》附录B B.1.3(源文件:_epub-src/OEBPS/035.xhtml) - 结论依据:原文定义写模型、三种状态变化形式及其承担发布事件的职责。 - 原始内容:写模型就是状态发生了变化的目标对象……应该由写模型承担发布事件的职责,因为只有它才具备侦知状态是否变更以及何时变更的能力。