padrões de projeto em aplicações web
Post on 19-Jun-2015
388 Views
Preview:
TRANSCRIPT
Padrões de Projeto em Aplicações Web
@JonataWeber
Padrões de Projeto
Design
Pattern
Contexto
Problema
Solução
– Christopher Alexander (1979)
PadrõesDesenvolvimento 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
Padrões de Criação
Padrões Estruturais
Padrões Comportamentais
Padrões GoF
• 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
• Observer• State• Strategy• Template
Method• Visitor
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
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
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 extensão
MVCModel-View-Controller
MVCModel-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
MVCModel-View-Controller
– Wikipédia, 2013
Reusabilidade de CódigoSeparação de Conceitos{
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-web-artigo-da-java-magazine-ed-107-2012
top related