1
resposta

Uso de MVC com SOLID

Olá,

Estudando o SOLID me veio uma complicação ao tentar utilizado em uma aplicação MVC.

O principio DIP diz que não se deve depender depender de uma implementação concreta de uma classe e sim sua abstração. Mas vamos lá...

Se separamos a aplicação em camada de visualização (controller e view) e camada de modelo (service, entity, etc.) e controller tem um método para exibir um item na tela.

Ele recebe por parâmetro o ID do item, passa pro service e lá ele se vira. Mas o service precisa me retornar uma instância da classe do item que eu procurei, e o controller sabe disso e depende disso. Pois só com esse objeto especifico ele pode passar para view.

O controller conhecer o que o service retorna fere o DIP? Ou saber o que ele retorna não é conhecer sua implementação, apenas sua assinatura?

Sempre que vejo exemplos de uso de SOLID, nunca é trabalhado retorno dos métodos, sempre é em cenários que o sucesso é o não lançamento de exceções. Mas em muitos casos dependemos do retorno de um método para passar para o próximo ou retornar algo, e fica essa duvida sobre saber do retorno é saber da implementação.

1 resposta

Olá, Caique. Desculpa na demora.

Vi que você fez o curso de arquitetura. A dúvida permanece ou as coisas fazem mais sentido agora?