SlideShare uma empresa Scribd logo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
•

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

Mais conteúdo relacionado

PDF
Aula 1 - Introdução a POO
PPT
Modelagem Arquitetural e Visão 4+1
PDF
Banco de Dados - Conceitos
PDF
[Curso Java Basico] Exercicios Aula 19
PPT
Testes de Software
PDF
POO - Aula 09 - Herança
PPT
Bancos de dados e usuários de banco de dados
PDF
Programação em Banco de Dados - Aula 23/08/2018
Aula 1 - Introdução a POO
Modelagem Arquitetural e Visão 4+1
Banco de Dados - Conceitos
[Curso Java Basico] Exercicios Aula 19
Testes de Software
POO - Aula 09 - Herança
Bancos de dados e usuários de banco de dados
Programação em Banco de Dados - Aula 23/08/2018

Mais procurados (20)

PPTX
Aula - Metodologias Ágeis
PPT
Introdução à linguagem python
PPT
Arquitetura de Software
PDF
Como fazer citações e referências bibliográficas
PDF
Aula 6 - Design e Processo de Design de Interfaces de Usuário
PPTX
Reuso de software
PPTX
Aula sobre Linux.
PDF
11 manualdesaudeeseg
PDF
Aula 1 intro ergonomia [modo de compatibilidade]
PPT
Diagrama de implantação
PPTX
Segurança no trabalho rural
PPTX
Principais Técnicas de Elicitação de Requisitos
PDF
Sistemas Operacionais - Aula 07 (Thread e Processos)
PPT
Introdução à segurança, higiene e saúde no
PPTX
Saude Ocupacional - Doenças Profissionais
PDF
Introdução a Programação de Dispositivos Móveis
PDF
Diagramas de temporização
PPTX
Agronegocio
PPT
Modelos de ciclo de vida de software
PDF
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Aula - Metodologias Ágeis
Introdução à linguagem python
Arquitetura de Software
Como fazer citações e referências bibliográficas
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Reuso de software
Aula sobre Linux.
11 manualdesaudeeseg
Aula 1 intro ergonomia [modo de compatibilidade]
Diagrama de implantação
Segurança no trabalho rural
Principais Técnicas de Elicitação de Requisitos
Sistemas Operacionais - Aula 07 (Thread e Processos)
Introdução à segurança, higiene e saúde no
Saude Ocupacional - Doenças Profissionais
Introdução a Programação de Dispositivos Móveis
Diagramas de temporização
Agronegocio
Modelos de ciclo de vida de software
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Anúncio

Destaque (7)

PDF
Design Patterns - Aula 2
PDF
Web Semântica - RoadShow TI Senac SP
PDF
Construindo sites adequados para pessoas com Autismo - Webbr 2016
PDF
Aula 1 - Curso Git e Github - Webschool
PDF
Aula 2 - Curso Git e Github - Webschool
PDF
Desenvolvimento de Jogos com HTML5
PDF
Acessibilidade Web Cognitiva
Design Patterns - Aula 2
Web Semântica - RoadShow TI Senac SP
Construindo sites adequados para pessoas com Autismo - Webbr 2016
Aula 1 - Curso Git e Github - Webschool
Aula 2 - Curso Git e Github - Webschool
Desenvolvimento de Jogos com HTML5
Acessibilidade Web Cognitiva
Anúncio

Semelhante a Design Patterns - Aula 1 (20)

PPT
Introdução à análise orientada a objetos parte 6
PDF
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PPTX
Design Patterns - Com Java
PDF
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
PDF
00 apresentacao
PDF
Semiótica Aplicada ao Design (Aula 01)
PPTX
Cesar.Edu Turma S2I
PDF
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
PPTX
Introdução a Modelagem
PDF
Aula 1 - Apresentação da Disciplina
PPTX
Padrões de Projeto - Design Patterns e Anti-Patterns
PDF
Padrões de Projeto
PPTX
Engenharia de Software - planejamento pedagógico
PDF
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
PDF
Introdução a Padrões de Projeto - Engenharia de Software
PDF
Estilizando temas de WordPress
PDF
Programação Orientada a Objetos - Pós Graduação - aula 1
PPT
Aula1 Apresentacao TEES
PDF
Inovação Centrada no Usuário
PDF
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
Introdução à análise orientada a objetos parte 6
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
Design Patterns - Com Java
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
00 apresentacao
Semiótica Aplicada ao Design (Aula 01)
Cesar.Edu Turma S2I
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Introdução a Modelagem
Aula 1 - Apresentação da Disciplina
Padrões de Projeto - Design Patterns e Anti-Patterns
Padrões de Projeto
Engenharia de Software - planejamento pedagógico
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Introdução a Padrões de Projeto - Engenharia de Software
Estilizando temas de WordPress
Programação Orientada a Objetos - Pós Graduação - aula 1
Aula1 Apresentacao TEES
Inovação Centrada no Usuário
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...

Mais de Talita Pagani (20)

PDF
Design acessível para autistas
PDF
Projetando para a neurodiversidade
PDF
Guia de Acessibilidade de Interfaces Web focado em Autismo
PDF
Projetando sites e aplicativos mais adequados a pessoas com autismo
PDF
Acessibilidade para cidadania : uma avaliação de usabilidade e acessibilidade...
PDF
Projeto CoCoA: Um Colete de Comunicação Alternativa
PDF
Carreira não linear em TI
PDF
Acessibilidade Digital para Tecnologias Educacionais focadas em Autistas
PDF
Acessibilidade Web Cognitiva - BrazilJS 2016
PDF
Caro Analista de Requisitos, você faz UX Design e nem sabe disso
PDF
Projetando sites adequados a pessoas com Autismo
PDF
Towards Web Accessibility Guidelines of Interaction and Interface Design for ...
PDF
PROJETO GAIA: Guia de Acessibilidade de Interfaces Web focado em aspectos do ...
PDF
Interface é código: aprimorando a experiência do usuário no front e no back-end
PDF
Meetup inaugural - Bauru UX Design Group - Fev/2015
PDF
Introdução a testes de usabilidade - 11º Diverso Design
PDF
Medindo o Desempenho de sua aplicação com as APIs de Web Performance
PDF
Guidelines Open-souce de interfaces para a inclusão sociodigital de autistas
PDF
Interface é código: aprimorando a experiência do usuário no front e no back-end
PDF
Desmistificando a IHC para programadores
Design acessível para autistas
Projetando para a neurodiversidade
Guia de Acessibilidade de Interfaces Web focado em Autismo
Projetando sites e aplicativos mais adequados a pessoas com autismo
Acessibilidade para cidadania : uma avaliação de usabilidade e acessibilidade...
Projeto CoCoA: Um Colete de Comunicação Alternativa
Carreira não linear em TI
Acessibilidade Digital para Tecnologias Educacionais focadas em Autistas
Acessibilidade Web Cognitiva - BrazilJS 2016
Caro Analista de Requisitos, você faz UX Design e nem sabe disso
Projetando sites adequados a pessoas com Autismo
Towards Web Accessibility Guidelines of Interaction and Interface Design for ...
PROJETO GAIA: Guia de Acessibilidade de Interfaces Web focado em aspectos do ...
Interface é código: aprimorando a experiência do usuário no front e no back-end
Meetup inaugural - Bauru UX Design Group - Fev/2015
Introdução a testes de usabilidade - 11º Diverso Design
Medindo o Desempenho de sua aplicação com as APIs de Web Performance
Guidelines Open-souce de interfaces para a inclusão sociodigital de autistas
Interface é código: aprimorando a experiência do usuário no front e no back-end
Desmistificando a IHC para programadores

Último (16)

PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Processos na gestão de transportes, TM100 Col18
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Processos na gestão de transportes, TM100 Col18
COBITxITIL-Entenda as diferença em uso governança TI
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Arquitetura de computadores - Memórias Secundárias
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Custos e liquidação no SAP Transportation Management, TM130 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20

Design Patterns - Aula 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. • 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