4 个版本
| 0.2.2 | 2019 年 9 月 5 日 |
|---|---|
| 0.2.1 | 2019 年 4 月 29 日 |
| 0.2.0 |
|
| 0.1.1 | 2019 年 3 月 8 日 |
| 0.1.0 | 2019 年 2 月 1 日 |
#1966 在 异步
在 4 个 crate 中使用
23KB
460 行
cqrs
cqrs 是一个以事件作为“事实来源”并实现命令-查询责任分离 (CQRS) 的驱动式框架。
该框架围绕几个关键概念构建
- 事件:系统中发生的事情
- 聚合:事件的投影,计算系统的当前状态视图
- 命令:意图,当对聚合体执行时,可能产生零个或多个事件,或者可能被聚合体的当前状态禁止
- 反应:在系统发生某些事件时执行操作的进程
该框架编写为适用于通用后端,并提供了 PostgreSQL 后端的实现。
有关如何构建包含聚合、事件和命令的域的示例,请参阅 cqrs-todo-core crate,它是一个简单的待办事项列表实现。
源代码仓库还包含在 cqrs-todoql-psql 目录中的二进制文件,该文件演示了使用 todo 域与 PostgreSQL 后端和 GraphQL 前端(使用 juniper crate)一起使用。
支持的 Rust 编译器最低版本目前为 1.32。
开发
要构建此存储库中的所有 crate
cargo build
要测试所有 crate 和文档
cargo test
要编译存储库中 crate 的文档(删除 --no-deps 以包括依赖项的文档;添加 --open 以自动在浏览器中打开文档)
cargo doc --no-deps
此 crate 旨在支持 wasm32-unknown-unknown target 的 cqrs、cqrs-core 和 cqrs-todo-core crate。要针对此目标构建,请执行
cargo build --target=wasm32-unknown-unknown -p cqrs-core -p cqrs -p cqrs-todo-core
许可证
cqrs 在 Apache-2.0 许可证下开源。