Publicação

Padrão MVC | Arquitetura Model-View-Controller

foto de
Jorge Massari CONTEÚDO EM DESTAQUE

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)

Comentários