O que é Model-View-Controller (MVC)
É um padrão de arquitetura de aplicações que divide a aplicação em três camadas: a visão (view), o modelo (model), e o controlador (controller). Traduzido para o português, a expressão significa: modelo-visão-controlador.
O padrão MVC foi desenvolvido em 1979 por Trygve Reenskaug com a finalidade de ser utilizado como arquitetura para aplicativos desketop. Entretanto, o padrão se popularizou para uso em sistemas web, a partir da adesão de milhares de Frameworks de mercado.
O que é Arquitetura de Aplicação
A arquitetura de uma aplicação nada mais é do que um modelo que define as suas estruturas. Tal estrutrua engloba:
- componentes de software,
- propriedades dos componentes / elementos,
- os relacionamento entre os componentes / elementos,
- e , enfim, todos os elementos que fazem parte da estrutura básica padrão do software e como estes elementos interagem / interagem entre si.
- Alguns exemplos de elementos: utilitários, elementos de interação, elementos de conexão, elementos de persistência.
Existem arquiteturas padrão de mercado e arquiteturas específicas, criadas e usadas por empresas que desenvolvem software (neste segundo caso, configura o papel de um arquiteto de software).
Model-View-Controller (MVC) na Prática
Em termos práticas, e de forma resumida, utilizar do padão MVC significa:
- Dividir a aplicação em camadas: uma da interface do usuário denominada View, uma para manipulação lógica de dados chamada Model, e uma terceira caama de fluxo da aplicação chamada Control)
- Criar a possibilidade de exibir uma mesma lógica de negócios através de várias interfaces.
- Isolar a camada de negócios (Model) das demais camadas do sistema, de forma a facilitar a sustentabilidade do código
- A implementação do controlador deve permitir que esta camada receba os eventos da interface e e os converta em ações no modelo.
As camadas do Modelo MVC
Camadas do Modelo MVC
A Camada View do MVC
- É a camada que exibe uma representação dos dados.
- É camada de interface com usuário (view).
- Também conhecida como cliente-side.
- Faz a exibição dos dados, utilizando-se de #HTML e/ou XML.
- É responsável por usar as informações modeladas para produzir interfaces de apresentação conforme a necessidade.
A Camada Model do MVC
- É a camada que contem a estrutura de dado atrás de uma parte específica da aplicação
- Usualmente portada em JSON.
- Responsável pela leitura manipulação e validação de dados, e também de suas validações.
- Responsável por tratar as regras de negócio.
- Obtém os dados e os traduz em informações relevantes para serem exibidas pela View.
- Notifica a view e controler associados quando há uma mudança em seu estado.
A Camada Controller do MVC
- É a camada de controle.
- Exerce o controle de qual model deverá ser aplicado e qual view será mostrado ao usuário.
- Podemos dizer que esta camada faz uma gerência das outras duas camadas.
- O controller manipula e roteia as requisições dos usuários.
- Interpreta as requisições submetidas pelo usuário e traduz em comandos que são enviados para o (Model) e/ou para a View) .
- Valida as requisições dos usuários de acordo com as regras de autenticação e autorização.
Vantagens do Model-View-Controller (MVC)
- Melhor nível de sustentabilidade, pois facilita a manutenção da aplicação
- Melhor performance, graças a separação em camadas
- Fácil transformação da interface, sem que haja necessidade de modificar a camada de negócio
- Melhor desempenho e produtividade, graças a estrutura de pacotes modulares
- A arquitetura modular permite aos desenvolvedores e designers trabalharem em paralelo
- Partes da aplicação podem ser modificadas sem a necessidade de alterar outras
Vídeo de introdução ao Model-View-Controller (MVC)
Para contribuir com seus estudos, recomendo a videoaula a seguir, disponibilizada pelo canal do YouTube COD3R
Padrões de Projeto - Ep02: MVC | Por COD3R
Continue estudando Model-View-Controller (MVC)