Padrão MVC
Para continuar o processo de estudos na iniciação de uma carreira em desenvolvimento voltado para C#, um bom conteúdo são os padrões de projetos, como o MVC.
O padrão MVC (Model View Controller) é um padrão de projeto muito utilizado pelas empresas que traz diversos benefícios para o seu projeto.
O MVC é uma padrão que permite dividir seu projeto em camadas, a fim de tornar o seu projeto de mais fácil reaproveitamento de código, tornar mais fácil a manutenção e adição de recursos, otimizar a organização e distribuição de tarefas dentro de um squad e deixar o codigo bem escrito e de forma limpa.
Para entender na pratica o significado deste padrão, é necessário antes entender o conceito desta sigla que são dividas em camadas, sendo essas camadas:
- Model (Modelo)
Se trata da camada modelo onde é contido todas as informações do funcionamento do Backend, ou seja, toda regra de negocio e acesso a camada DAL (Banco de Dados) é incluída nesta camada, por exemplo:
Digamos que possuímos um projeto chamado cadastro de Usuários e que neste projeto existam as classes de Login, Usuario , Permissionamento, Cadastrar entre outros, todo o processo utilizado para criação do cadastro consta incluso nesta camada.
- View (Visão)
É a camada responsável por todo a codificação do Frontend, como o HTML, CSS, JSCRIPT, AJAX entre outros, em termos simples é a camada responsável pela apresentação das informações na tela ao usuário final.
- Controller (Controle)
Camada responsável por ditar o fluxo do funcionamento do sistema entre as camadas de Visão e Modelo, a camada Controle tem a função de validar as regras de negocio solicitadas no frontend (Visão) e executar essas regras no backend(Modelo), por exemplo, o usuário ao preencher todas as informações no campo de cadastro e clicar no botão “Cadastrar”, automaticamente a informações serão disparadas do Frontend para a camada Controle onde será feito todas as validações para que essas informações sejam encaminhadas para o método correto no backend, após toda a execução do backend essas informações serão retornadas diretamente para a View.
A imagem a seguir descreve como seria o fluxo das informações dentro deste padrão:
- Usuário Realiza alguma ação no sistema
- A view encaminha as informações da solicitação para a Controller
- A Controller realiza a validação destas informações e encaminha para a camada Model
- A camada Model aciona a DAL para obter, inserir ou alterar as informações
- A DAL retorna com as informações para a camada Model
- A Model retorna as informações para a camada View.
- A camada View apresenta as informações para o usuário na tela