#ddd #ddd-cqrs-framework #hexagonal-arch #events

dddk_core

基于command_bus、event_bus和query_bus的战术DDD框架。它提供附件功能,如授权、日志...

5个版本 (破坏性更新)

0.6.0 2024年2月21日
0.4.0 2022年2月3日
0.3.0 2022年1月26日
0.2.0 2022年1月23日
0.1.0 2022年1月22日

#3#ddd

Download history 1/week @ 2024-03-26 13/week @ 2024-04-02 1/week @ 2024-06-04

每月下载量53次
dddk_security 中使用

Apache-2.0

92KB
2K SLoC

4dk-core

核心项目实现了该框架的主要概念。
它实现了以下实体: CommandEventQuery

Command

Command

Command 是一个对象,它触发类型为 CommandHandler 的用例。它是发送给系统的命令。事务将产生一系列 Event
Command 通过 CommandBus 分发到正确的处理器。

CommandBus

CommandBus 实现了以下特性 fn dispatch(command: &Command) -> Vec<Box<dyn Event>>
本项目提出了以下命令总线

  • CommandDispatcher:其 new 工厂接受一个包含 CommandHandlerInBus 的向量 Vec<Arc<Box CommandHandlerInBus>>。该总线将 Command 分发到正确的 CommandHandler



在示例中可以找到不同的总线组合。

Event

Event 是由 CommandHandler 返回的对象。一个 Event 是业务事务的结果。它可以触发类型为 EventHandler 的用例。
Event 通过 EventBus 分发到相关的处理器。

Query

一个 Query 对象会触发一个类型为 QueryHandler 的用例。这是向系统提出的问题。一个 Response 是从 QueryHandler 返回的。

QueryBus

EventBus 验证以下特质 fn dispatch(query: &Query) -> Vec<Box<dyn Response>>
本项目提出了以下查询总线

  • QueryDispatcher:其 new 工厂接受一个 Vec<Arc<Box QueryHandlerInBus>>QueryHandlerInBus。这个总线将 Query 分发到其正确的 QueryHandler

依赖项

~88KB