Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 8 – Introdução ao Padrão...
-
Upload
armando-rocha-regueira -
Category
Documents
-
view
217 -
download
0
Transcript of Curso de Gestão da Informação Prof. Dr. Daniel A. Furtado Módulo 8 – Introdução ao Padrão...
Programação para InternetCurso de Gestão da Informação
Prof. Dr. Daniel A. FurtadoMódulo 8 – Introdução ao Padrão MVC com PHP
Universidade Federal de UberlândiaFaculdade de Computação
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 2
Descrito pela primeira vez em 1979, por Trygve Reenskaug, em um contexto diferente do atual;
O padrão utilizado atualmente para desenvolvimento web é uma adaptação do padrão original;
MVC – Introdução
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 3
MVC = Model-View-Controller (modelo-visão-controlador)
MVC é um padrão de arquitetura de software baseado na ideia fundamental de que a lógica da aplicação deve ser separada de sua apresentação (interface);
Amplamente utilizado em aplicações Web;
O que é MVC?
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 4
O padrão MVC propõe que a aplicação seja dividida em três componentes principais, cada qual com uma responsabilidade bem definida:
O que é MVC?
• Trata dos dados e da lógica de negócios;Model
• Apresentação dos dados ao usuário no formato apropriado e com o devido layout;View
• Recebe as requisições do usuário e chama os recursos apropriados (métodos, funções, etc.) para tratá-las;
Controller
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 5
Gerencia as requisições do usuário, as quais são geralmente realizadas via HTTP GET ou POST (quando o usuário clica em algum elemento da interface para executar alguma ação);
Sua principal função é chamar e coordenar os recursos e objetos necessários para executar a ação do usuário;
Geralmente o controller chama o model apropriado para a tarefa requisitada e então seleciona a view adequada;
Controlador – Controller
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 6
Inclui os dados da aplicação e as regras de negócio que os processam;
O modelo provê ao controlador os dados requisitados em um formado padronizado, utilizando um modelo de dados;
Tal modelo de dados será sempre o mesmo, independente de como ele será apresentado ao usuário (é por isso que podemos escolher qualquer visão disponível para apresentá-lo);
O modelo contém a parte mais importante da lógica da aplicação, isto é, a lógica que se aplica ao problema sendo tratado (Loja virtual? Portal de notícias? Gestão hoteleira?);
Modelo – Model
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 7
A visão provê diferentes maneiras de apresentar os dados recebidos do modelo;
Podem ser templates onde os dados são preenchidos;
Poderá haver várias visões diferentes e o controlador tem que decidir qual delas usar;
Visão – View
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 8
Padrão MVC
Usuário (navegador)
Controller
Model(BD, regras de negócio...)
View(templates, layout...)
1) Usuário envia uma requisição ao controlador via URL
2) Controlador solicita os dados ao modelo
3) Modelo retorna os dados solicitados
4) Controlador seleciona uma visão
5) Visão retornada ao controlador;
6) Controlador devolve a visão (página HTML) que carrega os dados do modelo selecionado.
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 9
Uma aplicação web é geralmente composta de uma coleção de controladores, modelos e visões;
Padrão MVC
Usuário (navegador)
Main Controller
Controller 1 Controller 2 Controller 2
...
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 10
A principal vantagem de utilizar o padrão MVC é a separação clara da apresentação (interface com o usuário) da lógica da aplicação; De fundamental importância, considerando os diferentes tipos de usuários
usando diferentes tipos de dispositivos (celular, tablet, desktop, etc.); O modelo retornará exatamente os mesmos dados, mas o controlador
escolherá diferentes visões para apresentá-los;
Redução da complexidade no desenvolvimento de projetos grandes;
Desenvolvimento em equipe mais eficiente;
Código melhor estruturado e mais fácil de manter;
Quais são as vantagens?
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 11
Frameworks baseados no MVC para PHP
Programação para Internet - Prof. Dr. Daniel A. Furtado - w3schools 12
Popularidade dos Frameworks MVC (PHP)