KissMediator 1.0.1
dotnet add package KissMediator --version 1.0.1
NuGet\Install-Package KissMediator -Version 1.0.1
<PackageReference Include="KissMediator" Version="1.0.1" />
<PackageVersion Include="KissMediator" Version="1.0.1" />
<PackageReference Include="KissMediator" />
paket add KissMediator --version 1.0.1
#r "nuget: KissMediator, 1.0.1"
#:package KissMediator@1.0.1
#addin nuget:?package=KissMediator&version=1.0.1
#tool nuget:?package=KissMediator&version=1.0.1
Kiss Mediator
This mediator builds on the principle of YAGNI(You Ain't Gonna Need It). So, the implimentation is short and simple for the purpose of mediator design. Any further extension can be done depending on your use cases and project requirements.
Usage
All the commands and notifications can be registered automatically alongside their respective handler implementations using
serviceCollection.AddKissMediator();
You can create the command handlers this way
public class CreateTodoCommandHandler : IRequestHandler<CreateTodoCommand, CreatedTodoResponse>
{
public Task<CreatedTodoResponse?> HandleAsync(CreateTodoCommand request, CancellationToken cancellationToken)
{
//your implementation here
...
}
}
...with the commands and response models defined as
public class CreateTodoCommand : IRequest<CreatedTodoResponse>
{
public string Name { get; set; }
}
public class CreatedTodoResponse
{
public Guid Id { get; set; }
public string Name { get; set; }
public DateTime CreatedAt { get; set; }
}
You can invoke the implemenation by injecting IMediator into any class and then calling
await _mediator.SendAsync(command);
Testing
The test project covers the unit tests cases to confirm the mediator works fine.
Licence
This is provided under the MIT Licence
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.DependencyInjection (>= 3.1.32)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1 | 409 | 6/3/2025 |