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
每月下载量53次
在 dddk_security 中使用
92KB
2K SLoC
4dk-core
核心项目实现了该框架的主要概念。
它实现了以下实体: Command
、Event
和 Query
。
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