<aside> 🔑

Tanto Flunt quanto MediatR podem ser usados para trabalhar com notificações em um projeto, mas eles têm propósitos e abordagens diferentes. A escolha entre um ou outro depende do contexto do projeto, da sua arquitetura e do objetivo específico para as notificações.

</aside>


🔍 Comparação entre Flunt e MediatR

Critério Flunt MediatR
Propósito Principal Trabalhar com validações e notificações. Implementar o CQRS e o mediator pattern.
Foco Focado em notificações de domínio (ex.: erros). Focado em comunicação desacoplada entre componentes.
Integração Simples de integrar para notificações e validações. Requer configuração, mas oferece maior flexibilidade.
Uso Típico Centralizar erros de validação em operações do domínio. Orquestrar fluxos complexos de comandos e eventos.
Performance Leve, apenas uma biblioteca auxiliar para validação. Pode ser mais pesado devido ao pipeline assíncrono e handlers.
Complexidade Simples de usar e configurar. Mais complexo, mas oferece maior poder para arquiteturas avançadas.
Principais Recursos Validações simples, Notificações centralizadas, Leve Comunicação desacoplada, Pipelines, Extensibilidade

🔧 Quando Usar Flunt

Usar o Flunt quando:

  1. Precisamos centralizar notificações para tratar erros de validação de entidades ou objetos de valor.
  2. Estamos trabalhando com notificações simples, como mensagens de erro.
  3. Queremos uma solução mais leve e direta para validação.

🔧 Quando Usar MediatR

Usar o MediatR quando:

  1. Estamos usando CQRS ou precisa orquestrar a comunicação entre diferentes camadas de forma desacoplada.
  2. Desejamos usar notificações como eventos, para propagar mudanças no sistema.
  3. Precisamos de um pipeline extensível para validação, logging ou tratamento de exceções.