知识卡片

用事件类型而非结果值表达操作分支

普通读书笔记卡 · 1969.s

内容

两种操作结果的事件有两种定义形式:将结果作为事件携带值(PaymentCompleted+OperationResult枚举)会减少事件数,但订阅者须按值做分支判断;用事件类型直接表现结果(PaymentSucceeded/PaymentFailed)则订阅者可为各事件分别编写处理方法,保证订阅代码简洁。

参考来源

- 位置:《解构领域驱动设计》第11章11.2.2(源文件:_epub-src/OEBPS/022.xhtml) - 结论依据:PaymentCompleted按值分支与PaymentSucceeded/PaymentFailed按类型分派的对比示例。 - 原始内容:要保证订阅者代码的简洁性,可以采用第二种形式,即通过事件类型直接表现操作的结果。