FluxMediator é uma alternativa ao MediatR para implementar o padrão Mediator em aplicações .NET. Ele foi projetado para simplificar a comunicação entre componentes, promovendo um design mais limpo e desacoplado.
- Implementação leve e fácil de usar.
- Suporte para comandos, consultas e notificações.
- Promove a separação de responsabilidades e facilita testes unitários.
Adicione o pacote NuGet ao seu projeto:
dotnet add package FluxMediator
Registre o FluxMediator no seu contêiner de injeção de dependência:
// Registra todos os assemblies no AppDomain
services.AddMyMediator();
// Registra assemblies específicos
services.AddMyMediator(typeof(Program).Assembly, typeof(Startup).Assembly);
// Registra por prefixo de namespace
services.AddMyMediator("MyCompany.MyProject");
// Registra por tipos marcadores
services.AddMyMediator(typeof(Program), typeof(SomeHandler));
Defina um comando e seu respectivo manipulador:
public class MyCommand : ICommand
{
public string Data { get; set; }
}
public class MyCommandHandler : ICommandHandler<MyCommand>
{
public Task Handle(MyCommand command, CancellationToken cancellationToken)
{
Console.WriteLine($"Comando recebido: {command.Data}");
return Task.CompletedTask;
}
}
Envie o comando:
await mediator.Send(new MyCommand { Data = "Olá, FluxMediator!" });
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.
Este projeto está licenciado sob a MIT License.