知识卡片

CQRS改良的核心是资源库

普通读书笔记卡 · 1976.u

内容

CQRS把模型分为命令模型与查询模型,但若未采用事件溯源,命令模型与普通领域模型无区别,聚合中的实体、值对象、领域服务不受影响——CQRS划分命令与查询,实则是针对资源库的改良。资源库原承担增删改查,CQRS砍掉其查询职责,但按聚合根ID加载聚合的方法仍需保留,否则无从管理生命周期。查询端则无领域模型,经北向网关远程查询服务直调南向DAO,遵循弱化的菱形对称架构。发散:理解”CQRS首先改的是资源库”,能避免把它误当成必须引入事件溯源、事件总线的重型方案。

参考来源

- 位置:《解构领域驱动设计》第18章《领域驱动设计的战略考量》18.3.2(源文件:_epub-src/OEBPS/031.xhtml) - 结论依据:原文指出未用事件溯源时聚合设计不受CQRS影响,CQRS本质是针对资源库的改良——砍掉查询、保留按ID加载。 - 原始内容:CQRS模式之所以划分命令操作与查询操作,实则是针对资源库进行的改良……根据聚合根实体的ID执行查询的方法仍然需要保留……它的作用实则是加载一个聚合。