LiteBus
LiteBus copied to clipboard
LiteBus is an easy-to-use and ambitious in-process mediator providing the foundation to implement Command Query Separation (CQS). It is implemented with minimal reflection and instead utilizes covaria...
trafficstars
LiteBus
An easy-to-use and ambitious in-process mediator to implement CQS
For a detailed understanding and advanced use cases, please refer to the Wiki.
Features
- Developed with .NET 8.0
- Independent (No external dependencies)
- Reduced use of reflection
- Provides polymorphic dispatch and handling of messages with support for covariance and contravariance
- Core Messaging Types include:
ICommand: Command without resultICommand<TResult>: Command with a resultIQuery<TResult>: QueryIStreamQuery<TResult>: Query yieldingIAsyncEnumerable<TResult>IEvent: Event
- Designed for flexibility and extensibility
- Modular architecture: Abstractions and implementations are provided in distinct packages
- Allows ordering of handlers
- Can handle plain messages (class types without specific interface implementations)
- Supports generic messages
- Features both global and individual pre and post handlers. These handlers also support covariance and contravariance
- Events do not necessarily need to inherit from
IEvent, accommodating DDD scenarios. This is beneficial for maintaining clean domain events without binding them to any particular library interface.