PMQ.Notifications
1.432 downloads · o mais adotado dos cinco · repositório
Gerência de notificação e validação em .NET: controle centralizado e tipado de mensagem, erro e regra de negócio.
O problema
Regra de negócio violada não é falha do programa. “Valor da devolução maior que o valor disponível” é um resultado esperado — o sistema previu que isso pode acontecer. Tratar isso com exceção tem dois custos: exceção é cara e, pior, ela interrompe no primeiro problema. A tela quer mostrar os cinco campos errados de uma vez, não descobrir um por vez a cada envio.
A decisão
Notificação acumulada em vez de exceção lançada. O domínio registra o que está errado e continua avaliando; ao final, quem chamou pergunta se é válido e recebe a lista completa.
Exceção fica reservada para o que é realmente excepcional: banco fora, integração indisponível, estado impossível.
Por que é o mais baixado
Porque é o problema mais universal dos cinco. Todo sistema com regra de negócio precisa decidir como a regra reclama, e a resposta padrão do .NET — exceção — é a errada para a maioria dos casos.
Ver também
ADR 2 — Notificação acumulada em vez de exceção · Suíte PMQ · Modelagem de domínio, DDD e CQRS