#cqrs #events #aggregate #system #testing #produce #construct

cqrs-proptest

cqrs的属性测试实用工具

3 个版本 (破坏性更新)

0.3.0 2019年8月7日
0.2.0 2019年4月29日
0.1.0 2019年2月1日

#28 in #produce


cqrs-todo-core 中使用

Apache-2.0

39KB
568

cqrs

cqrs 是一个基于事件的框架,用于编写使用事件作为“真相之源”并实现命令-查询职责分离(CQRS)的软件。

该框架围绕几个关键概念构建

  • 事件:系统中发生的事情
  • 聚合:事件的投影,计算系统的当前状态视图
  • 命令:意图,当针对聚合执行时,可能产生零个或多个事件,或者可能被聚合的当前状态禁止
  • 反应:当系统发生某些事件时执行动作的过程

该框架编写为适用于通用后端,并为 PostgreSQL 后端提供了一个实现。

有关如何构建包含聚合、事件和命令的域的示例,请参阅 cqrs-todo-core crate,它是一个简单的待办事项列表实现。

源代码库还包含一个在 cqrs-todoql-psql 目录中的二进制文件,该文件演示了如何使用 todo 域与 PostgreSQL 后端和 GraphQL 前端(使用 juniper crate)一起使用。

开发

构建此存储库中的所有crate

cargo build

测试所有crate和文档

cargo test

编译存储库中crate的文档(移除 --no-deps 以包括依赖项的文档;添加 --open 以自动在浏览器中打开文档)

cargo doc --no-deps

此crate旨在支持 wasm32-unknown-unknown 目标,针对 cqrscqrs-corecqrs-todo-core crate。要针对此目标构建,请执行

cargo build --target=wasm32-unknown-unknown -p cqrs-core -p cqrs -p cqrs-todo-core

许可证

cqrsApache-2.0 许可证下开放许可。

依赖项

~2MB
~34K SLoC