Design Patterns - Aula 1
-
Upload
talita-pagani -
Category
Technology
-
view
440 -
download
2
Transcript of Design Patterns - Aula 1
![Page 1: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/1.jpg)
Prof.ª Esp. Talita Pagani [email protected] | @talitapagani
Especialização em Engenharia de Software
21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 1
![Page 2: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/2.jpg)
1. Definição de 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
Informações gerais
![Page 3: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/3.jpg)
• Conhecimento sobre 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
Informações gerais
![Page 4: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/4.jpg)
• Surgiu na arquitetura:
padrões de Alexander (1977)
21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 4
Definição de Design Patterns
![Page 5: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/5.jpg)
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
Definição de Design Patterns
![Page 6: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/6.jpg)
• 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
Definição de Design Patterns
![Page 7: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/7.jpg)
• 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
Definição de Design Patterns
![Page 8: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/8.jpg)
• 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
Design Patterns para Software Orientado a Objetos
![Page 9: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/9.jpg)
• 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
Design Patterns para Software Orientado a Objetos
![Page 10: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/10.jpg)
21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 10
Design Patterns para Software Orientado a Objetos
Tabela 1 - O espaço dos padrões de projeto
Propósito
De criação Estrutural Comportamental
Escopo Classe Factory Method Adapter (classe) Interpreter
Template Method
Objeto Abstract Factory
Builder
Prototype
Singleton
Adapter (objeto)
Bridge
Composite
Decorator
Façade
Flyweight
Proxy
Chain of Responsability
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor
Fonte: GAMMA, et al., 2007.
![Page 11: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/11.jpg)
21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 11
Design Patterns para Software Orientado a Objetos
Fonte: http://www.vincehuston.org/dp/
![Page 12: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/12.jpg)
• Nome do padrão
• Intenção e objetivo
• Também conhecido como
• Motivação
• Aplicabilidade
• Estrutura
• Participantes
21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 12
Design Patterns para Software Orientado a Objetos
![Page 13: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/13.jpg)
• Colaboração
• Consequências
• Implementação
• Exemplos de código
• Usos conhecidos
• Padrões relacionados
21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 13
Design Patterns para Software Orientado a Objetos
![Page 14: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/14.jpg)
• Projeto de software para ser:
21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 14
Modelagem de software com auxílio de Design Patterns
Robusto
F lex íve l
Esca láve l
In te l ig íve l
R e u t i l i z á v e l
Manuten i -
b i l i dade
![Page 15: Design Patterns - Aula 1](https://reader034.fdocument.pub/reader034/viewer/2022051113/55d568fbbb61eb1b6e8b4574/html5/thumbnails/15.jpg)
• ALEXANDER, C., et al. 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