O cenário
Em um formulário, selecionar país pode atualizar lista de estados, validação e opções de entrega. Se cada controle conhecer todos os outros, mudanças produzem uma rede de dependências. Um mediador coordena a reação a eventos específicos.
Exemplo conceitual
public interface IMediadorReserva
{
Task ConfirmarAsync(Reserva reserva, CancellationToken ct);
}
public sealed class ServicoReserva(IMediadorReserva mediador)
{
public Task ConfirmarAsync(Reserva reserva, CancellationToken ct) =>
mediador.ConfirmarAsync(reserva, ct);
}Em aplicações .NET, bibliotecas de mensagens podem implementar dispatch de requests e notifications; use-as quando agregarem valor, sem confundir o mecanismo com o padrão em si.
O perigo do mediador gigante
Se toda regra migrar ao mediador, ele vira um objeto central difícil de compreender. Separe coordenação de regras de domínio e mantenha handlers coesos. Compare com Observer, que notifica assinantes, e veja o guia GoF.