PMQ.Mediator
637 downloads · repositório
Implementação leve do padrão mediator para .NET, com integração de validação, comportamento de pipeline, suporte a streaming e publicação de notificação.
O problema
Num serviço com muitos casos de uso, o controller vira despachante: injeta cinco dependências, valida, chama serviço, trata erro. O mediator tira isso do caminho — o controller entrega um comando e recebe um resultado, e tudo que acontece no meio é composição.
A decisão de design
Pipeline de comportamento. Validação, log e transação não são responsabilidade do handler: são estágios que envolvem qualquer handler. Isso mantém o handler com uma coisa só — a regra do caso de uso — e permite acrescentar preocupação transversal sem tocar em nenhum deles.
A integração com validação é direta: o validador roda no pipeline, antes do handler. Se o comando não presta, a execução nem começa, e o erro volta como notificação — ver PMQ.Notifications.
Origem
Generalização de um mediator interno escrito para desacoplar módulos de um serviço corporativo. Funcionou, foi adotado por outros sistemas, e a versão limpa das dependências internas virou pacote público.