CQRS 架构
人们用于与信息系统进行交互的主流方法是将其视为 CRUD 数据存储。我们具有某种记录结构的思维模型,可以在完成处理后:
创建新记录
读取记录
更新现有记录
删除记录
最简单情况下,我们的交互都是关于存储和检索这些记录。随着我们的需求变得越来越复杂,可能希望
以与记录存储不同的方式查看信息,也许将多个记录折叠成一个记录,或者通过组合不同位置的信息来形成虚拟记录
更新方面,我们可能会发现验证规则,这些规则仅允许存储某些数据组合,甚至可能推断出与我们提供的数据不同的数据
发生这种情况时,我们开始看到信息的多种表示形式。当用户与信息交互时,他们使用该信息的各种表示形式,每个表示形式都是不同的表示形式。
开发人员通常会构建自己的概念模型,以用来操纵模型的核心元素。如果使用域模型,则通常是域的概念表示。通常,还应使持 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 久性存储尽可能接近概念模型。表示形式的多层结构可能会变得非常复杂,但是当人们这样做时,他们仍然将其解析为单个概念表示,该概念表示充当所有演示之间的概念整合点。
CQRS 引入的更改是将概念模型拆分为单独的模型以进行更新和显示,按照 CommandQuerySeparation 的词汇分别称为 Command 和 Query。这样做的理由是,对于许多问题,尤其是在更复杂的领域中,使用相同的命令和查询概念模型会导致更复杂的模型,但效果却不佳。
评论