Padrões de Projeto em
Aplicações Web
@JonataWeber
Padrões de Projeto
Problema
Contexto

Solução

Design
Pattern
– Christopher Alexander (1979)
Padrões
Desenvolvimento de
Software
Gang of Four (ou GoF)
“Design Patterns: Elements of Reusable Object-Oriented Software”...
Padrões GoF
Padrões de Criação

Padrões Estruturais
Padrões
Comportamentais
• Padrões de
Criação
•
•
•
•
•

Abstract Factory
Builder
Factory Method
Prototype
Singleton
• Padrões
Estruturais
•
•
•
•
•

Adapter
Bridge
Composite
Decorator
Façade

• Flyweight
• Proxy
• Padrões
Comportamentais
• Chain of
Responsibility
• Command
• Interpreter
• Iterator
• Mediator
• Memento

•
•
•
•
•

Ob...
Padrões GRASP
“General Responsibility Assignment Software Patterns”
•
•
•
•
•
•
•
•
•

Controlador
Criador
Indireção
Espec...
Padrões em
Aplicações Web
• Voltados para o design de interface
ou visual

• Voltados para interação e
navegação
• Voltado...
Front Controller
“Centralizar o processamento de
requisições em um único ponto”

ALUR, Deepak – Core J2EE Patterns (2003)
Front Controller
Problema 1:

Controlar a navegação entre os
objetos de visão
Front Controller
Problema 2:

Remover duplicação de código
Front Controller
Problema 3:

Estabelecer responsabilidades
mais definidas para cada objeto,
facilitando manutenção e
exte...
MVC
Model-View-Controller
MVC
Model-View-Controller
• Model (modelo)
Consiste nos dados da aplicação, regras de negócio, lógica e
funções

• View (v...
MVC
Model-View-Controller

Reusabilidade de Código
Separação de Conceitos
– Wikipédia, 2013
Referências
http://pt.wikipedia.org/wiki/MVC
http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software
http://www.sl...
Padrões de Projeto em Aplicações Web
Upcoming SlideShare
Loading in …5
×

Padrões de Projeto em Aplicações Web

789 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
789
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Padrões de Projeto em Aplicações Web

  1. 1. Padrões de Projeto em Aplicações Web @JonataWeber
  2. 2. Padrões de Projeto Problema Contexto Solução Design Pattern – Christopher Alexander (1979)
  3. 3. Padrões Desenvolvimento de Software Gang of Four (ou GoF) “Design Patterns: Elements of Reusable Object-Oriented Software” (1995) Por Erich Gamma (Helm, Johnson e Vlissides) 23 Padrões para Projeto Orientado a Objetos
  4. 4. Padrões GoF Padrões de Criação Padrões Estruturais Padrões Comportamentais
  5. 5. • Padrões de Criação • • • • • Abstract Factory Builder Factory Method Prototype Singleton
  6. 6. • Padrões Estruturais • • • • • Adapter Bridge Composite Decorator Façade • Flyweight • Proxy
  7. 7. • Padrões Comportamentais • Chain of Responsibility • Command • Interpreter • Iterator • Mediator • Memento • • • • • Observer State Strategy Template Method Visitor
  8. 8. Padrões GRASP “General Responsibility Assignment Software Patterns” • • • • • • • • • Controlador Criador Indireção Especialista na Informação Alta Coesão Baixo Acoplamento Polimorfismo Variações Protegidas Invensão Pura “Utilizando UML e Padrões” – Craig Larman
  9. 9. Padrões em Aplicações Web • Voltados para o design de interface ou visual • Voltados para interação e navegação • Voltados para a arquitetura de construção
  10. 10. Front Controller “Centralizar o processamento de requisições em um único ponto” ALUR, Deepak – Core J2EE Patterns (2003)
  11. 11. Front Controller Problema 1: Controlar a navegação entre os objetos de visão
  12. 12. Front Controller Problema 2: Remover duplicação de código
  13. 13. Front Controller Problema 3: Estabelecer responsabilidades mais definidas para cada objeto, facilitando manutenção e extensão
  14. 14. MVC Model-View-Controller
  15. 15. MVC Model-View-Controller • Model (modelo) Consiste nos dados da aplicação, regras de negócio, lógica e funções • View (visão) Pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama • Controller (controlador) Faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão – Wikipédia, 2013
  16. 16. MVC Model-View-Controller Reusabilidade de Código Separação de Conceitos – Wikipédia, 2013
  17. 17. Referências http://pt.wikipedia.org/wiki/MVC http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software http://www.slideshare.net/ClaudioMartins4/padres-de-projeto-em-aplicaes-webartigo-da-java-magazine-ed-107-2012

×