Padrões de Projeto WEB e o MVC - PDF
Download "Padrões de Projeto WEB e o MVC"
Luca Marinho Castanho
1 Padrões de Projeto WEB e o MVC
2 Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele problema, de um modo tal que você pode usar esta solução milhões de vezes, sem nunca fazer a mesma coisa repetida" Christopher Alexander (Arquiteto e Urbanista)
3 Padrões de Projeto WEB e o MVC Padrões de Projeto São Conceitos (não tecnologias). Resolvem problemas específicos. Devem conter: Nome, Exemplo, Contexto, Problema e Solução.
4 Padrões de Projeto WEB e o MVC Padrões GoF Gang-of-Four (Gangue-dos-Quatro) Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides Organização dos Padrões Propósito Criação Estrutural Comportamental Escopo Classes Objetos
5 Padrões de Projeto WEB e o MVC Organização dos Padrões GoF
6 Padrões de Projeto WEB e o MVC Interação entre Padrões Almir Neto - e Otávio Calaça -
7 Padrões de Projeto WEB e o MVC O que é MVC? Aplicações Monolíticas Aplicações em duas camadas MVC (Model-View-Controller) Padrão de Arquitetura É um conceito Fácil manutenção Objetivos Frameworks
8 Padrões de Projeto WEB e o MVC Vantagens do MVC Reaproveitamento de código Facilidade de manutenção Integração de equipes e/ou divisão de tarefas Camada de Persistência independente Implementação de segurança Facilidade na alteração da interface da aplicação
9 Padrões de Projeto WEB e o MVC Camadas Model Bean DAO Actions View Controller
10 Padrões de Projeto WEB e o MVC Model Bean Entidade Segurança Encapsulamento Vantagens
11 Padrões de Projeto WEB e o MVC Model DAO Data Access Object Persistência Portabilidade Independência
12 Padrões de Projeto WEB e o MVC Model Action Regras do Negócio Integra Bean, DAO e Views
13 Padrões de Projeto WEB e o MVC View Ajax Templates Web - Standards
14 Padrões de Projeto WEB e o MVC Controller Segurança Controlar fluxo da aplicação Inicia e finaliza o fluxo
15 Padrões de Projeto WEB e o MVC Fluxo da aplicação MVC
16 JSP & Servlets Padrão MVC com JSP e Servlets
17 Por que este modelo não vingou?
18 Sistema e Requisitos Para que um sistema de informação alcance o objetivo para o qual foi desenvolvido deve satisfazer certos interesses específicos os requisitos sejam eles funcionais ou não funcionais
19 Tipos de Requisitos Interface Recuperação de Dados Regras de Negócio Orientação a Objeto Modelagem
20 O que ocorre se requisitos estiverem acoplados?
21 Requisitos Acoplados
22 Requisitos Acoplados Problemática Dificuldade de Manutenção Ex: Se o video queimar, tem que colocar tudo no conserto Difícil Evolução Interface Recuperação De Dados Regras de Negócios
23 Funcionalidades Acopladas Problemática Interface Recuperação De Dados Sistemas Regras de Negócios
24 Separação de Interesses (SoC) Melhor maneira de criar sistemas gerenciáveis Separação de interesses, Parnas (1972) Modularização Por quê? Ex: Não se pode assumir que uma lógica de negócios somente será acessada por uma única interface Requisitos sempre mudam
25 O que é um padrão de projeto?
26 O padrão Model-View-Controller Como os Requisitos sempre mudam é melhor que ocorra a separação da lógica de negócios da apresentação Lógica de Negócios Apresentação Nunca se deve assumir que uma lógica de negócios somente será acessada por uma aplicação web
27 O padrão Model-View-Controller Modelo Representa a lógica do negócio Aloja as entidades da aplicação Pode interagir com a base de dados Visão Responsável por exibir as informações ao usuário Controle Faz o meio de campo 12
28 O padrão Model-View-Controller JSP e Servlets SEM MVC Podemos considerar como o nosso primeiro exemplo de Servlet Tudo estava no Servlet
29 O padrão Model-View-Controller JSP e Servlets com MVC MVC retira a lógica de negócios e a interface de dentro dos servlets, e põe em 2 camadas, a Modelo, usando classes Java simples e a Visão, com JSPs, respectivamente Os servlets atuarão como a camada de Controle
30 MVC no mundo dos CONTROLLER (Controlador) Recupera a entrada do usuário a partir da requisição e o traduz para o modelo. Diz ao modelo para se atualizar e disponibiliza um novo estado para a visão VIEW (Visão) Responsável pela apresentação. Recupera o estado do modelo através do controle. Também obtém a entrada do usuário e repassa para o controle Servlets e JSPs MODEL (Modelo) Guarda a lógica e o estado do negócio. Conhece as regras para recuperar e alterar o estado. É a parte do sistema que interage com a base de dados