wellingtonjhn / DemoMediatR

Aplicação de demonstração para mostrar o funcionamento do MediatR
40 stars 9 forks source link

Notificações em Entidades de domínio #1

Closed tiro-dev closed 6 years ago

tiro-dev commented 6 years ago

Como se notifica a API sobre algo de errado ocorrido no fluxo das entidades de domínio (models)? Ex.: Supondo que as fast-fails tenham passado sem problemas, como seria validar uma entidade de domínio que em algum momento precisa reportar alguma notificação de que algo de errado ocorreu no processamento de um cálculo, por exemplo? Creio que os Handlers até poderiam ser responsáveis por capturar tais ocorrências e portanto repassar para a API (controllers) as notificações, mas não sei se esse processo seria o ideal com o próprio MediatR + FluentValidation, se é que isso é possível e sem desorganizar o domínio da aplicação. Desde já, obrigado.

wellingtonjhn commented 6 years ago

Ola Tiago, eu tenho outro projeto de exemplo onde tenho validações nos models também. https://github.com/wellingtonjhn/DemoJwt

Nesse caso, eu uso o Flunt do André Baltieri para fazer as validações e notificações tanto dos Requests do MediatR (fail-fast), quanto dos Models de dominio, isso também pode ser feito com o FluentValidation sem problemas. E ai o procedimento é o mesmo para ambos, após a criação das entidades e validações serem executadas basta verificar se o objeto é válido, se não for você adiciona as notificações na resposta e da um return para sair do Handler.

Não sei se você chegou no meu projeto pelos meus artigos, mas te indico a leitura, onde estou tentando abordar padrões de arquitetura e código que eu emprego em meus projetos no dia a dia.

Abraços!

https://www.wellingtonjhn.com

tiro-dev commented 6 years ago

Wellington, muito obrigado pela indicação do Flunt. Antes de chegar nos seus repos, li os artigos no seu blog e te parabenizo e agradeço pela alta qualidade dos mesmos. Precisamos de mais conteúdos assim em nosso país. Mais uma vez obrigado.

Abraços!

wellingtonjhn commented 6 years ago

Tiago, fico feliz em poder ajudar nossa comunidade de desenvolvimento com o pouco que conheço. =) Se tiver mais dúvidas não deixe de entrar em contato.

Abraços!