Padrões de Projeto WEB e o MVC
Upcoming SlideShare
Loading in...5
×
 

Padrões de Projeto WEB e o MVC

on

  • 12,725 views

Slides used at 1º SGSL. The main subject is MVC and design patterns

Slides used at 1º SGSL. The main subject is MVC and design patterns

Statistics

Views

Total Views
12,725
Views on SlideShare
12,673
Embed Views
52

Actions

Likes
3
Downloads
382
Comments
0

1 Embed 52

http://www.slideshare.net 52

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Presentation Transcript

  • Padrões de Projeto WEB e o MVC Almir Neto Otávio Calaça Xavier
  • Padrões de Projeto WEB e o MVC Grupo de Desenvolvedores PHP de Goiás Lista de Discussão   Certificações  Troca de Conhecimentos  Grupos de Estudo  Encontros  Palestras  Eventos  Networking 2 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC O que são padrões? quot;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 repetidaquot; Christopher Alexander (Arquiteto e Urbanista) 3 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • 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 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Padrões GoF Gang-of-Four (Gangue-dos-Quatro)   ErichGamma,  Richard Helm,  Ralph Johnson e  John Vlissides Organização dos Padrões  Escopo Propósito    Classes  Criação  Objetos  Estrutural  Comportamental 5 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Organização dos Padrões GoF 6 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Interação entre Padrões 7 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Observer Comportamental de Objetos   Objetivo  Definir uma dependência um-para-muitos entre objetos.  Uma mudança de estado em um objeto fará com que todos seus dependentes sejam notificados e atualizados automaticamente. 8 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Observer Problema   Como garantir a atualização de objetos que dependem de outro objeto sem que este saiba quais objetos dependem dele?  Observando-o. 9 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Observer Estrutura e Participantes  10 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Observer Aplicabilidade   Quando desejamos fornecer várias visões distintas de um mesmo objeto que funciona como um repositório de dados.  Quando uma mudança em um objeto exige mudanças em outros, e não são conhecidos quantos devem ser mudados.  Quando um objeto deve ser capaz de notificar outros objetos sem que estes sejam fortemente acoplados. 11 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Singleton Criação de Objeto   Objetivo  Garantirque uma classe tenha uma única instância, e prover um ponto de acesso global a esta instância. 12 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Singleton Problema   Como garantir a existência de somente uma instância de uma classe em um sistema que necessite de tal controle? 13 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Singleton Estrutura e Participantes  14 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Singleton Aplicabilidade   Quando deve existir exatamente uma instância de uma classe, e ela deve ser acessível a partir de um ponto bem conhecido.  Quando deve haver somente um objeto que gerencie conexões com o banco de dados ou acesso a um arquivo de log. 15 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Factory Method Criação de Classe   Objetivo  Definiruma interface para criar um objeto, mas deixar que subclasses decidam que classe instanciar  Permite que uma classe delegue a responsabilidade de instanciação às subclasses 16 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Factory Method Problema   Como fazer quando há a necessidade de criação de objetos do mesmo tipo porém com particularidades diferentes, sem alteração dos já existentes?  Adicionando Métodos de Fabricação. 17 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Factory Method Estrutura e Participantes  18 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Factory Method Aplicabilidade   Considere uma aplicação onde é possível criar vários tipos de documentos diferentes Cada documento exige uma criação particular   A classe Application é responsável por criar os documentos  Porém, a classe Application não tem como saber antecipadamente as particularidades dos tipos de documentos a serem criados 19 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Composite Estrutural de Objeto   Objetivo  Compor objetos em estruturas de árvore para representarem hierarquias partes-todo.  Permitir que clientes tratem de modo uniforme objetos individuais e suas composições. 20 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Composite Problema   Como fazer quando se deseja trabalhar com objetos primitivos e objetos recipientes da mesma forma?  Criando uma classe abstrata que representa tanto os componentes primitivos como os agregados. 21 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Composite Estrutura e Participantes  22 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Composite Aplicabilidade   Aplicações gráficas como editores de programação visual que devem permitir a construção de diagramas complexos a partir de componentes simples.  Diferenças entre objetos simples e objetos compostos devam ser ignoradas. Ou seja, o cliente deve tratar objetos simples e compostos igualmente. 23 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Duvidas?? 24 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • 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 25 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • 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 26 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Camadas Model   Bean  DAO  Actions View   Controller 27 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Model Bean   Entidade  Segurança  Encapsulamento  Vantagens 28 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Model DAO – Data Access Object   Persistência  Portabilidade  Independência 29 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Model Action   Regras do Negócio  Integra Bean, DAO e Views 30 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC View Ajax   Templates  Web - Standards 31 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Controller Segurança   Controlar fluxo da aplicação  Inicia e finaliza o fluxo 32 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Fluxo da aplicação MVC 33 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC Referências Padrões GoF, POSA e J2EE.   Jefferson Teixeira de Souza, Ph.D Padrões de Design Orientados a Objetos.   Jorge H. C. Fernandes Utilizando UML e Padrões   CRAIG LARMAN Wikipédia - www.wikipedia.org  34 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com
  • Padrões de Projeto WEB e o MVC FIM Almir Neto – almirneto@gmail.com Otávio Calaça Xavier – otaviocx@gmail.com 35 Almir Neto - almirneto@gmail.com e Otávio Calaça - otaviocx@gmail.com