O documento apresenta uma aula sobre Design Patterns para engenharia de software. A aula introduz o conceito de Design Patterns, apresenta os três principais tipos de padrões e discute como modelar software usando Design Patterns.
Informações gerais
1. Definiçãode Design Patterns;
2. Design Patterns para softwares orientados a objetos:
a. Padrões de criação;
b. Padrões estruturais;
c. Padrões comportamentais;
3. Estudo de caso de Design Patterns;
4. Modelagem de software com auxílio de Design
Patterns;
5. Design Patterns para interfaces gráficas;
6. Design Patterns para mobile.
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
2
3.
Informações gerais
• Conhecimentosobre orientação a objetos;
• Conhecimento sobre projeto de software
orientado a objetos.
• Escopo destas aulas:
– Tópicos avançados em DP;
– Aplicação prática de DP
.
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
3
4.
Definição de DesignPatterns
• Surgiu na arquitetura:
padrões de Alexander (1977)
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
4
5.
Definição de DesignPatterns
Padrão de projeto é uma
solução de sucesso - testada e
verificada - para um problema
recorrente em um determinado
contexto.
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
5
6.
Definição de DesignPatterns
• Padrões para software:
– Soluções simples para problemas de OO;
– Registro de experiência acumulada;
– Padronização e reuso;
– Eficácia;
– Flexibilidade.
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
6
7.
Definição de DesignPatterns
• Padrões para software:
– "descrições de objetos e classes
comunicantes que precisam ser
personalizadas para resolver um problema
geral num contexto particular" (GAMMA,
et al. 2007)
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
7
8.
Design Patterns paraSoftware Orientado a Objetos
• Surgiu em 1995
– Erich Gamma, Richar Helm, Ralph Johnson e
John Vlissides (Gang of Four)
• Catálogo de 23 padrões
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
8
9.
Design Patterns paraSoftware Orientado a Objetos
• Finalidade
– Padrões de criação (ou criacionais)
– Padrões estruturais
– Padrões comportamentais
• Escopo
– Classe
– Objetos
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
9
10.
Design Patterns paraSoftware Orientado a Objetos
Tabela 1 - O espaço dos padrões de projeto
Escopo
Classe
Objeto
De criação
Factory Method
Abstract Factory
Builder
Prototype
Singleton
Propósito
Estrutural
Adapter (classe)
Adapter (objeto)
Bridge
Composite
Decorator
Façade
Flyweight
Proxy
Comportamental
Interpreter
Template Method
Chain of Responsability
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor
Fonte: GAMMA, et al., 2007.
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
10
Modelagem de softwarecom auxílio de Design Patterns
• Projeto de software para ser:
Robusto
Escalável
Inteligível
21/02/2014
Flexível
Reutilizável
Manutenibilidade
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
14
15.
•
ALEXANDER, C., etal. A Pattern Language. Oxford University Press, 1977.
•
AMMAR, H. H. 2008. Case Studies on Design Patterns. Disponível em:
http://www.csee.wvu.edu/~ammar/rts/adv rts/design patterns case studies/before and after CaseStudies.ppt
•
GAMMA, E., et al. Padrões de projeto: soluções reutilizáveis de software orientado a objetos; tradução de Luiz
A. Meirelles Salgado. Porto Alegre: Bookman, 2007.
•
HEGODA, D. 2013. Why? When to? Software Design Patterns. Disponível em:
http://dasunhegoda.com/software-design-patterns/158/
•
JAVACAMP 2012. Java Design Patterns At a Glance. Disponível em: http://www.javacamp.org/designPattern/
.
•
LEACOCK, M.; MALONE, E.; WHEELER, C. Implementing a Pattern Library in the Real World: A Yahoo! Case
Study. In: Sixth Annual ASIS&T Information Architecture Summit. Montréal, Quebec, Canada, mar. 2005.
Disponível em: http://leacock.com/patterns/
•
MCDONALD, J. 2007. Design Patterns Quick Reference. Disponível em:
http://www.mcdonaldland.info/2007/11/28/40/
•
MEMÓRIA, F. Design para a internet: Projetando a experiência perfeita. Rio de Janeiro: Elsevier, 2005.
•
WELIE, M. V. 2008. Patterns in Interaction Design. Disponível em: http://www.welie.com/patterns/
21/02/2014
Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani
15