Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Try - catch | Melhor lugar

Olá pessoal, estou escrevendo uma aplicação em MVC 5, e tenho lá minha camada DAL que faz acesso a base de dados, tenho uma camada responsável pela regra de negócio da aplicação, e a camada da aplicação com Razor, pra apresentação. O caso é, minha tenho um request que chama meu controller da Razor, esse controle faz uma chamada a uma determinada regra de negócio e essa regra faz uma chamada pra camada DAL que realiza o acesso no banco. Onde trato uma exceção caso tenha problemas? Por exemplo, se não consigo realizar a conexão com o banco, essa exception deve ser tratada na camada DAL? se sim, dou um throw, crio uma exception ou retorno um objeto vazio ou nulo? Estou tentando procurar um melhor lugar pra não impactar muito na leitura do código e nem encher a aplicação de try catch que poderiam ser evitados...

Desculpem o textão, obrigado pelo help ;-)

1 resposta
solução!

Oi Kevyn . Acredito que sim, sempre na camada DAL , na regra de negócio.

Ao meu ver o controller deve ter o minimo de argumentos possíveis. Já que ele é o "responsável maior" pela interação com o usuário.

Isso se aproxima mais do Princípio da Responsabilidade Única SRP em metodologia ágil. Onde cada classe deve ter apenas uma responsabilidade.

Logo se você não utilizar a classe somente para validar essa conexão, você terá mais retrabalho ao modificar seu projeto.

E aproveitando a deixa, se você utilizar o try e catch dentro do próprio Dal . Poderá implementar ele em outro projeto facilmente. Fica tudo mais enxuto e prático.

Recomendo o livro aí :

Princípios, Padrões e práticas ágeis em C#

Robert C. Martin; Micah Martin

Editora Bookman