Tooark.Mediator.Abstractions
3.3.3
See the version list below for details.
dotnet add package Tooark.Mediator.Abstractions --version 3.3.3
NuGet\Install-Package Tooark.Mediator.Abstractions -Version 3.3.3
<PackageReference Include="Tooark.Mediator.Abstractions" Version="3.3.3" />
<PackageVersion Include="Tooark.Mediator.Abstractions" Version="3.3.3" />
<PackageReference Include="Tooark.Mediator.Abstractions" />
paket add Tooark.Mediator.Abstractions --version 3.3.3
#r "nuget: Tooark.Mediator.Abstractions, 3.3.3"
#:package Tooark.Mediator.Abstractions@3.3.3
#addin nuget:?package=Tooark.Mediator.Abstractions&version=3.3.3
#tool nuget:?package=Tooark.Mediator.Abstractions&version=3.3.3
Tooark.Mediator.Abstractions
Biblioteca com os contratos base do padrão Mediator para projetos .NET, utilizada por implementações como Tooark.Mediator.
Conteúdo
Visão Geral
O pacote Tooark.Mediator.Abstractions define os contratos para:
- requests (
IRequest,IRequest<TResponse>); - commands (
ICommand,ICommand<TResponse>); - queries (
IQuery<TResponse>); - notifications (
INotify); - envio e publicação (
ISender,IPublisher); - interface principal (
IMediator); - retorno vazio (
Unit).
🔧 Instalação
dotnet add package Tooark.Mediator.Abstractions
📦 Componentes
Contratos de mensagem
IRequest<TResponse>: contrato base de requisição com resposta.IRequest: atalho para requisição sem payload de resposta (Unit).ICommand<TResponse>: comando com resposta.ICommand: comando sem resposta explícita (Unit).IQuery<TResponse>: consulta com resposta.INotify: notificação/evento sem resposta.
Contratos de orquestração
ISenderTask<TResponse> SendAsync<TResponse>(IRequest<TResponse> request, CancellationToken cancellationToken = default)
IPublisherTask PublishAsync(INotify notification, CancellationToken cancellationToken = default)
IMediator: combinaISendereIPublisher.
Tipo utilitário
UnitUnit.ValueUnit.Task
📝 Exemplos de Uso
Definindo mensagens
using Tooark.Mediator.Abstractions;
public sealed record CreateOrderCommand(string CustomerName) : ICommand<Guid>;
public sealed record GetOrderByIdQuery(Guid Id) : IQuery<string>;
public sealed record OrderCreatedNotify(Guid OrderId) : INotify;
Dependendo dos contratos no serviço
using Tooark.Mediator.Abstractions;
public sealed class OrderApplicationService(ISender sender, IPublisher publisher)
{
public async Task<Guid> CreateAsync(string customerName, CancellationToken cancellationToken)
{
var id = await sender.SendAsync(new CreateOrderCommand(customerName), cancellationToken);
await publisher.PublishAsync(new OrderCreatedNotify(id), cancellationToken);
return id;
}
public Task<string> GetByIdAsync(Guid id, CancellationToken cancellationToken)
{
return sender.SendAsync(new GetOrderByIdQuery(id), cancellationToken);
}
}
Usando Unit em comandos sem retorno
using Tooark.Mediator.Abstractions;
public sealed record DeactivateOrderCommand(Guid Id) : ICommand;
public static Task<Unit> SuccessAsync()
{
return Unit.Task;
}
📋 Dependências
| Pacote | Versão | Descrição |
|---|---|---|
Tooark.Exceptions |
— | Exceções (ex.: BadRequestException) |
🪪 Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests no repositório Tooark.Mediator.Abstractions.
📄 Licença
Este projeto está licenciado sob a licença BSD 3-Clause. Veja o arquivo LICENSE para mais detalhes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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. |
-
net10.0
- Microsoft.AspNetCore.Http (>= 2.3.11)
- Microsoft.AspNetCore.Mvc (>= 2.3.11)
- Microsoft.AspNetCore.Mvc.Core (>= 2.3.11)
- Microsoft.Extensions.Caching.Memory (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.FileProviders.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Localization (>= 10.0.10)
- System.Security.Cryptography.Xml (>= 10.0.10)
- Tooark.Exceptions (>= 3.3.3)
-
net8.0
- Microsoft.AspNetCore.Http (>= 2.3.11)
- Microsoft.AspNetCore.Mvc (>= 2.3.11)
- Microsoft.AspNetCore.Mvc.Core (>= 2.3.11)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Extensions.DependencyInjection (>= 8.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.FileProviders.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Localization (>= 8.0.29)
- System.Security.Cryptography.Xml (>= 8.0.4)
- Tooark.Exceptions (>= 3.3.3)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Tooark.Mediator.Abstractions:
| Package | Downloads |
|---|---|
|
Tooark
Package with all Tooark resources for .NET applications. |
|
|
Tooark.Mediator
Library for decoupling requests and handlers with the Mediator pattern in .NET applications. |
|
|
Tooark.Mediator.EntityFrameworkCore
Library that moves Entity Framework Core persistence into the Tooark.Mediator pipeline, keeping handlers free of SaveChanges. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.7.0 | 276 | 9/30/2026 |
| 4.6.0 | 174 | 9/29/2026 |
| 4.5.0 | 135 | 9/29/2026 |
| 4.4.0 | 141 | 9/28/2026 |
| 4.3.0 | 146 | 9/26/2026 |
| 4.2.1 | 139 | 9/25/2026 |
| 4.2.0 | 146 | 9/20/2026 |
| 4.1.0 | 144 | 9/18/2026 |
| 4.0.1 | 186 | 8/25/2026 |
| 4.0.0 | 162 | 8/25/2026 |
| 3.3.6 | 125 | 9/18/2026 |
| 3.3.5 | 139 | 8/25/2026 |
| 3.3.4 | 148 | 8/12/2026 |
| 3.3.3 | 149 | 7/27/2026 |
| 3.3.2 | 327 | 6/11/2026 |
| 3.3.1 | 170 | 6/6/2026 |
| 3.3.0 | 176 | 4/17/2026 |