Design Patterns - Aula 1

838 views
655 views

Published on

Aula 1 de Design Patterns da Pós-graduação em Engenharia de Software.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
838
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
22
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Design Patterns - Aula 1

  1. 1. Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com | @talitapagani 21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 1
  2. 2. Informações gerais 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
  3. 3. Informações gerais • 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
  4. 4. Definição de Design Patterns • Surgiu na arquitetura: padrões de Alexander (1977) 21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 4
  5. 5. Definição de Design Patterns 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. 6. Definição de Design Patterns • 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. 7. Definição de Design Patterns • 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. 8. Design Patterns para Software 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. 9. Design Patterns para Software 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. 10. Design Patterns para Software 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
  11. 11. Design Patterns para Software Orientado a Objetos Fonte: http://www.vincehuston.org/dp/ 21/02/2014 Design Patterns | Aula 1 | Prof.ª Esp. Talita Pagani 11
  12. 12. Design Patterns para Software Orientado a Objetos • • • • • • • 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
  13. 13. Design Patterns para Software Orientado a Objetos • • • • • • 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
  14. 14. Modelagem de software com 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. 15. • 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

×