Básico sobre ASP.NET Core MVC
This project is maintained by matheus-vieira
No momento que conseguimos ter a separação de conceitos conseguimos atingir um princípio de arquitetura de software chamado Princípio da Responsabilidade Única presente nos padrões SOLID
Conjunto de padrões de programação orientada a objetos
S -> Single Responsibility Principle
L -> Liskov substitution principle
Lógica de negócio e estado a aplicação são responsabilidades atribuídas ao modelo.
ViewModel
Modelos com lógicas de apresentação de conteúdo
Views fortemente tipadas se utilizam de modelos próprios.
A Controller popula a ViewModel e repassa à View
Lógicas com uma maior complexidade deve ser implementadas em ViewModels
Controla qual modelo e exibição será utilizada.
Pontos de entrada de aplicações Web ou API’s.
Controladores cuidam da interação com o usuário da aplicação.
Requisições são encaminhadas (utilizando rotas, que veremos mais adiante) para a controladora responsável (PeopleController, ProductsController, etc.).
Ações se repetem em diversos pontos da aplicação.
Pense em utilia o princípio de Não Se Repitir.
Em controllers podemos utilizar filtros
Apresentar as informações para o usuário é a responsabilidade da View.
Para isso temos a utilização de mecanismo de template chamado Razor. Com este mecanismo utilizamos códigos em marcações HTML.
Views devem conter o mínimo de lógica possível!
Caso exista alguma complexidade maior para exibir algum conteúdo considere a utilização de ViewModel ou View Components.