Padrão MVC (Model-View-Controller)

101 visualizações

Publicada em

Aula sobre o Padrão MVC
DIM0547 - Desenvolvimento de Sistemas Web 2016.2 (UFRN, Natal, Brasil)

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
101
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Padrão MVC (Model-View-Controller)

  1. 1. Padrão MVC Model–View–Controller Prof. Dr. Everton Cavalcante http://www.dimap.ufrn.br/~everton/ DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2
  2. 2. DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) Ponto de contato 2 Nas cenas dos capítulos anteriores...
  3. 3. Complexidade no desenvolvimento de aplicações corporativas … vimos que desenvolver aplicações corporativas não é uma tarefa trivial devido ao conjunto de características e requisitos desse tipo de aplicação … vimos que uma forma de lidar com a complexidade de aplicações corporativas é projetar a aplicação na forma de múltiplas camadas de software DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 3 Ponto de contato
  4. 4. DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) Ponto de contato 4
  5. 5. DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 5 Ponto de contato Para realizar a arquitetura de uma aplicação não basta estar em um dia inspirado ou acordar com bastante vontade de realizar uma arquitetura
  6. 6. 6 É preciso experiência
  7. 7. DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 7 Ponto de contato
  8. 8. DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 8 Ponto de contato
  9. 9. Padrão de projeto DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) Padrão MVC 9 […] Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice Pattern Christopher Alexander, Sara Ishikawa, Murray Silverstein, Max Jacobson, Ingrid Fiksdahl-King, Shlomo Angel. A Pattern Language. New York, USA: Oxford University Press, 1977.
  10. 10. Padrão de projeto DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) Padrão MVC 10 A pattern addresses a recurring design problem that arises in specific design situations and presents a solution to it. […] Patterns document existing, well-proven design experience. […] Patterns identify and specify abstractions that are above the level of single classes and instances, or of components. […] Patterns help you to manage software complexity. [Design] Pattern Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal. Pattern-oriented software architecture – Volume 1: A system of patterns. United Kingdom: John Wiley & Sons, Inc., 2001.
  11. 11. DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 11 Ponto de contato Controller View Model Padrão MVC
  12. 12. Objetivo Apresentar o padrão MVC (Model–View–Controller) e como ele pode ser utilizado no desenvolvimento de aplicações corporativas DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) Objetivo 12
  13. 13. Padrão MVC DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) Padrão MVC 13 The Model/View/Controller (MVC) triad of classes is used to build user interfaces in Smalltalk-80. […] MVC consists of three kinds of objects. The Model is the application object, the View is its screen presentation, and the Controller defines the way the user interface reacts to user input. Before MVC, user interface designs tended to lump these objects together. MVC decouples them to increase flexibility and reuse. The Model-View-Controller Pattern Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of reusable object-oriented software. USA: Addison-Wesley, 1995.
  14. 14. Padrão MVC Estratégia para organização da camada de apresentação de uma aplicação DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 14 Padrão MVC Elemento Definição Model (modelo) Representação o modelo de domínio da aplicação, gerenciando um ou mais elementos de dados View (visão) Exibição dos dados da aplicação e dos controles que permitem a interação do usuário com a mesma Controller (controle) Mediação entre modelo e visão que recebe as informações providas pelo usuário e as transmite para o modelo
  15. 15. Padrão MVC Embora originalmente projetado para o desenvolvimento de aplicações desktop, o padrão MVC tem sido amplamente adotado no desenvolvimento das aplicações Web atuais Desktop Web Mobile DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 15 Padrão MVC
  16. 16. Padrão MVC DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 16 Padrão MVC Model - Mantém o estado da aplicação - Responde a consultas - Expõe funcionalidades da aplicação - Notifica visões acerca de mudanças no estado da aplicação View - Gerencia a interface com o usuário em termos de entrada e saída - Repassa a interação do usuário para o controle - Obtém dados do modelo e os exibe para o usuário, atualizando a visão quando o modelo é atualizado Controller - Define o comportamento da aplicação - Mapeia ações do usuário em atualizações no modelo - Seleciona as respectivas visões para resposta consulta estado (getters) notificação de atualização atualização de estado (getters e setters) seleção de visão interação do usuário invocação de método evento
  17. 17. Padrão MVC DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) Padrão MVC 17 […] MVC decouples views and models by establishing a subscribe/notify protocol between them. A view must ensure that its appearance reflects the state of the model. Whenever the model’s data changes, the model notifies views that depend on it. […] You can also create new views for a model without rewriting it. The Model-View-Controller Pattern Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of reusable object-oriented software. USA: Addison-Wesley, 1995.
  18. 18. Benefícios da adoção do padrão MVC – Aceleração do processo de desenvolvimento – Desacoplamento e separação de interesses (e de código) – Possibilidade de múltiplas visões sobre um mesmo modelo – Maior reuso e não-duplicidade de código – Melhor manutenibilidade DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 18 Padrão MVC
  19. 19. MVC não é divisão em camadas 19
  20. 20. Cenas dos próximos capítulos... DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2 Aula 03 - Padrão MVC (Model-View-Controller) 20 Resumo
  21. 21. Padrão MVC Model–View–Controller Prof. Dr. Everton Cavalcante http://www.dimap.ufrn.br/~everton/ DIM0547 – Desenvolvimento de Sistemas Web II | 2016.2

×