v2.0.0 – Mediator: Abstractions / Implementation
What's Changed
- Split mediator into two packages: abstractions & full implementation by @hasanxdev in #37
This Version adds an icon to DispatchR and addresses the request raised in Issue #17 by introducing a separation of concerns in the Mediator package structure:
- DispatchR.Mediator.Abstractions: Contains only the core contracts and types (IRequest, INotification, IStreamRequest)
- DispatchR.Mediator: Contains the complete mediator implementation
Motivation:
This allows consumers to reference only the abstractions when needed; for example, defining request/notification types in a shared class library that both frontend and backend projects can consume.
The frontend can depend solely on the lightweight abstractions without pulling in the full mediator logic, while the backend can leverage the complete implementation.
Changes:
- Extracted interfaces and base contracts into a new DispatchR.Mediator.Abstractions package
- Updated project structure and references accordingly
- Adjusted namespaces and documentation to reflect the split
Benefits:
- Reduces unnecessary dependencies in projects that only require the contracts
- Improves modularity and flexibility in multi‑tier architectures
- Makes it easier to share request/notification models across services and clients
Breck Changes:
Change the namespaces of the following interfaces:
- INotification
- INotificationHandler
- IPipelineBehavior
- IRequest
- IRequestHandler
- IStreamPipelineBehavior
- IStreamRequest
- IStreamRequestHandler
- IMediator
Full Changelog: v1.3.3...v2.0.0