Padrões de Projeto
WEB e o MVC
Almir Neto
Otávio Calaça Xavier
Almir Neto e Otávio Calaça 2
Padrões de Projeto WEB e o MVC
Grupo de Desenvolvedores
PHP de Goiás
 Lista de Discussão
 C...
Almir Neto e Otávio Calaça 3
Padrões de Projeto WEB e o MVC
O que são padrões?
"Cada padrão descreve um problema que
ocorr...
Almir Neto e Otávio Calaça 4
Padrões de Projeto WEB e o MVC
Padrões de Projeto
 São Conceitos (não tecnologias).
 Resolv...
Almir Neto e Otávio Calaça 5
Padrões de Projeto WEB e o MVC
Padrões GoF
 Gang-of-Four (Gangue-dos-Quatro)
 Erich Gamma,
...
Almir Neto e Otávio Calaça 6
Padrões de Projeto WEB e o MVC
Organização dos Padrões
GoF
Almir Neto e Otávio Calaça 7
Padrões de Projeto WEB e o MVC
Interação entre Padrões
Almir Neto e Otávio Calaça 8
Padrões de Projeto WEB e o MVC
Observer
 Comportamental de Objetos
 Objetivo
Definir uma d...
Almir Neto e Otávio Calaça 9
Padrões de Projeto WEB e o MVC
Observer
 Problema
Como garantir a atualização de objetos qu...
Almir Neto e Otávio Calaça 10
Padrões de Projeto WEB e o MVC
Observer
 Estrutura e Participantes
Almir Neto e Otávio Calaça 11
Padrões de Projeto WEB e o MVC
Observer
 Aplicabilidade
Quando desejamos fornecer várias v...
Almir Neto e Otávio Calaça 12
Padrões de Projeto WEB e o MVC
Singleton
 Criação de Objeto
 Objetivo
Garantir que uma cl...
Almir Neto e Otávio Calaça 13
Padrões de Projeto WEB e o MVC
Singleton
 Problema
Como garantir a existência de somente u...
Almir Neto e Otávio Calaça 14
Padrões de Projeto WEB e o MVC
Singleton
 Estrutura e Participantes
Almir Neto e Otávio Calaça 15
Padrões de Projeto WEB e o MVC
Singleton
 Aplicabilidade
Quando deve existir exatamente um...
Almir Neto e Otávio Calaça 16
Padrões de Projeto WEB e o MVC
Factory Method
 Criação de Classe
 Objetivo
Definir uma in...
Almir Neto e Otávio Calaça 17
Padrões de Projeto WEB e o MVC
Factory Method
 Problema
Como fazer quando há a necessidade...
Almir Neto e Otávio Calaça 18
Padrões de Projeto WEB e o MVC
Factory Method
 Estrutura e Participantes
Almir Neto e Otávio Calaça 19
Padrões de Projeto WEB e o MVC
Factory Method
 Aplicabilidade
Considere uma aplicação onde...
Almir Neto e Otávio Calaça 20
Padrões de Projeto WEB e o MVC
Composite
 Estrutural de Objeto
 Objetivo
Compor objetos e...
Almir Neto e Otávio Calaça 21
Padrões de Projeto WEB e o MVC
Composite
 Problema
Como fazer quando se deseja trabalhar c...
Almir Neto e Otávio Calaça 22
Padrões de Projeto WEB e o MVC
Composite
 Estrutura e Participantes
Almir Neto e Otávio Calaça 23
Padrões de Projeto WEB e o MVC
Composite
 Aplicabilidade
Aplicações gráficas como editores...
Almir Neto e Otávio Calaça 24
Padrões de Projeto WEB e o MVC
Duvidas??
Almir Neto e Otávio Calaça 25
Padrões de Projeto WEB e o MVC
O que é MVC?
 Aplicações Monolíticas
 Aplicações em duas ca...
Almir Neto e Otávio Calaça 26
Padrões de Projeto WEB e o MVC
Vantagens do MVC
 Reaproveitamento de código
 Facilidade de...
Almir Neto e Otávio Calaça 27
Padrões de Projeto WEB e o MVC
Camadas
 Model
 Bean
 DAO
 Actions
 View
 Controller
Almir Neto e Otávio Calaça 28
Padrões de Projeto WEB e o MVC
Model
 Bean
Entidade
Segurança
Encapsulamento
Vantagens
Almir Neto e Otávio Calaça 29
Padrões de Projeto WEB e o MVC
Model
 DAO – Data Access Object
Persistência
Portabilidade...
Almir Neto e Otávio Calaça 30
Padrões de Projeto WEB e o MVC
Model
 Action
Regras do Negócio
Integra Bean, DAO e Views
Almir Neto e Otávio Calaça 31
Padrões de Projeto WEB e o MVC
View
 Ajax
 Templates
 Web - Standards
Almir Neto e Otávio Calaça 32
Padrões de Projeto WEB e o MVC
Controller
 Segurança
 Controlar fluxo da aplicação
Inicia...
Almir Neto e Otávio Calaça 33
Padrões de Projeto WEB e o MVC
Fluxo da aplicação MVC
Almir Neto e Otávio Calaça 34
Padrões de Projeto WEB e o MVC
Referências
 Padrões GoF, POSA e J2EE.
Jefferson Teixeira d...
Almir Neto e Otávio Calaça 35
Padrões de Projeto WEB e o MVC
FIM
Almir Neto – almirneto@gmail.com
Otávio Calaça Xavier – o...
Upcoming SlideShare
Loading in …5
×

Padrões de Projeto Web e o MVC

1,690 views
1,623 views

Published on

Palestra ministrada no V FGSL/I SGSL em maio de 2008 sobre os principais padrões de desenvolvimento utilizados para web e seus usos no padrão de arquitetura MVC.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,690
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
56
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Padrões de Projeto Web e o MVC

  1. 1. Padrões de Projeto WEB e o MVC Almir Neto Otávio Calaça Xavier
  2. 2. Almir Neto e Otávio Calaça 2 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
  3. 3. Almir Neto e Otávio Calaça 3 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)
  4. 4. Almir Neto e Otávio Calaça 4 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.
  5. 5. Almir Neto e Otávio Calaça 5 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  Escopo Classes Objetos  Propósito Criação Estrutural Comportamental
  6. 6. Almir Neto e Otávio Calaça 6 Padrões de Projeto WEB e o MVC Organização dos Padrões GoF
  7. 7. Almir Neto e Otávio Calaça 7 Padrões de Projeto WEB e o MVC Interação entre Padrões
  8. 8. Almir Neto e Otávio Calaça 8 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.
  9. 9. Almir Neto e Otávio Calaça 9 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.
  10. 10. Almir Neto e Otávio Calaça 10 Padrões de Projeto WEB e o MVC Observer  Estrutura e Participantes
  11. 11. Almir Neto e Otávio Calaça 11 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.
  12. 12. Almir Neto e Otávio Calaça 12 Padrões de Projeto WEB e o MVC Singleton  Criação de Objeto  Objetivo Garantir que uma classe tenha uma única instância, e prover um ponto de acesso global a esta instância.
  13. 13. Almir Neto e Otávio Calaça 13 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?
  14. 14. Almir Neto e Otávio Calaça 14 Padrões de Projeto WEB e o MVC Singleton  Estrutura e Participantes
  15. 15. Almir Neto e Otávio Calaça 15 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.
  16. 16. Almir Neto e Otávio Calaça 16 Padrões de Projeto WEB e o MVC Factory Method  Criação de Classe  Objetivo Definir uma 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
  17. 17. Almir Neto e Otávio Calaça 17 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.
  18. 18. Almir Neto e Otávio Calaça 18 Padrões de Projeto WEB e o MVC Factory Method  Estrutura e Participantes
  19. 19. Almir Neto e Otávio Calaça 19 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
  20. 20. Almir Neto e Otávio Calaça 20 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.
  21. 21. Almir Neto e Otávio Calaça 21 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.
  22. 22. Almir Neto e Otávio Calaça 22 Padrões de Projeto WEB e o MVC Composite  Estrutura e Participantes
  23. 23. Almir Neto e Otávio Calaça 23 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.
  24. 24. Almir Neto e Otávio Calaça 24 Padrões de Projeto WEB e o MVC Duvidas??
  25. 25. Almir Neto e Otávio Calaça 25 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
  26. 26. Almir Neto e Otávio Calaça 26 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
  27. 27. Almir Neto e Otávio Calaça 27 Padrões de Projeto WEB e o MVC Camadas  Model  Bean  DAO  Actions  View  Controller
  28. 28. Almir Neto e Otávio Calaça 28 Padrões de Projeto WEB e o MVC Model  Bean Entidade Segurança Encapsulamento Vantagens
  29. 29. Almir Neto e Otávio Calaça 29 Padrões de Projeto WEB e o MVC Model  DAO – Data Access Object Persistência Portabilidade Independência
  30. 30. Almir Neto e Otávio Calaça 30 Padrões de Projeto WEB e o MVC Model  Action Regras do Negócio Integra Bean, DAO e Views
  31. 31. Almir Neto e Otávio Calaça 31 Padrões de Projeto WEB e o MVC View  Ajax  Templates  Web - Standards
  32. 32. Almir Neto e Otávio Calaça 32 Padrões de Projeto WEB e o MVC Controller  Segurança  Controlar fluxo da aplicação Inicia e finaliza o fluxo
  33. 33. Almir Neto e Otávio Calaça 33 Padrões de Projeto WEB e o MVC Fluxo da aplicação MVC
  34. 34. Almir Neto e Otávio Calaça 34 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
  35. 35. Almir Neto e Otávio Calaça 35 Padrões de Projeto WEB e o MVC FIM Almir Neto – almirneto@gmail.com Otávio Calaça Xavier – otaviocx@gmail.com

×