Skip to content

v2.0.0 – Mediator: Abstractions / Implementation

Choose a tag to compare

@hasanxdev hasanxdev released this 24 Aug 10:29
· 12 commits to main since this release
ab0b4a7

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