1
resposta

Boas práticas, código na View

Olá, já sou desenvolvedor .net há algum tempo porém nunca formalizei meu conhecimento com um curso, eu fui aprendendo de acordo com o que o trabalho exigia e só agora estou estudando mais a fundo.

Tenho uma dúvida sobre boas práticas sobre Views do MVC. Quando eu preciso exigir varios dados em uma página, como um dashboard, é melhor receber uma ViewModel com uma coleção e trabalhar o código na View (usando Razor) ou trabalhar esse código na Controller e modificar a ViewModel pra já ter os dados trabalhados? Exemplo, eu tenho um resultado de uma API que eu deserializo em uma Lista de um determinado tipo e preciso exibis não só as propriedades desse tipo, bem como fazer alguns cálculos envolvendo dados que vem nessas propriedades, como a soma do valor de todas as ocorrências de certa propriedade na lista.

Então além de fazer um foreach na View pra exibir uma tabela com os dos brutos, eu prrciso ainda declarar algumas variáveis pra cálculos direto na View.

Um adendo: a ViewModel eu uso apenas como uma forma de passar dados pra minha View, a classe que eu uso pra deserializar os json de retorno da API é outra, então a minha ViewModel não tem restrição.

Espero não ter sido confuso. Agradeço desde já.

1 resposta

Eai Anderson, tudo bem?

Não se aplica regras de negócios em View, deixe para fazer lá apenas o que for necessário para exibi-los. Tente ao máximo também não aplicar nada de regras no seu Controller, apenas o que for necessário para receber e repassar os dados.

Tenha uma camada de serviços para isso onde não tenha nenhuma referencia com MVC, deixe o mais genérico possivel, pois se amanhã você quiser migrar o seu sistema para um outro framework, você só vai precisar alterar seu controller e suas views.