SlideShare uma empresa Scribd logo
DesignPatterns
IntroduçãoePráticas
DesignPatterns
IntroduçãoePráticas
ApresentaçãodosconceitosfundamentaisdeDesignPatternintroduzidospeloGOF
CatálogodoGangOfFour-DesignPatterns–ElementsofReusableObject-OrientedSoftware
Pedro Henrique Frozi
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
INTRODUÇÃO
Um padrão é uma maneira específica de fazer algo, ou um maneira
predefinida de alcançar determinado objetivo, capaz de resolver
problemas nos mais variados contextos.
CristopherAlexander - Arquiteto que documentou as melhores
práticas de padrões de projeto para a construção civil. A engenharia
de software foi fortemente influenciada pelo seu trabalho.
INTRODUÇÃO
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (2002). Design
Patterns – Elements of Reusable Object-Oriented Software.
Metsker, S. J., & Wesley, P. A. (2002). Design Patterns Java
Workbook. Design.
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
DEFINIÇÃO
Um DesignPattern é um padrão definido para resolver determinado
problema, que utiliza classes e métodos de uma linguagem orientada
à objetos.
DEFINIÇÃO
Elementos Essenciais de um padrão*:
● Nome
● Problema
● Solução
● Consequências
DEFINIÇÃO
Elementos Essenciais de um padrão*:
● Nome
● Problema
● Solução
● Consequências
DEFINIÇÃO
Elementos Essenciais de um padrão*:
● Nome
● Problema
● Solução
● Consequências
DEFINIÇÃO
Elementos Essenciais de um padrão*:
● Nome
● Problema
● Solução "ripple-effect"
● Consequências
Ampatzoglou, A., Chatzigeorgiou, A., Charalampidou, S., & Avgeriou, P. (2015). The effect of GoF design patterns on
stability: A case study. IEEE Transactions on Software Engineering, 41(8), 781–802.
DEFINIÇÃO
Elementos Essenciais de um padrão*:
● Nome
● Problema
● Solução
● Consequências
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
CATEGORIZAÇÃO-GOF
Rocha, H. da. (n.d.). Padrões de Design com aplicações em java.
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
CATEGORIZAÇÃO-Metsker&Wesley
Rocha, H. da. (n.d.). Padrões de Design com aplicações em java.
Rocha, H. da. (n.d.). Padrões de Design com aplicações em java.
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
CommonPatterns(byGOF)
1. Abstract Factory
2. Adapter
3. Composite
4. Decorator
5. Factory Method
6. Observer
7. Strategy
8. Template Method
CommonPatterns(byGOF)
Adapter (Wrapper)
Converter a interface de uma classe em outra interface esperada pelo
cliente.
Permite comunicação entre classes que não poderiam trabalhar
juntas devido à incompatibilidade de suas interfaces.
CommonPatterns(byGOF)
Adapter (Wrapper)
CommonPatterns(byGOF)
Composite
Compõe objetos em estruturas de árvore para representar
hierarquias.
Composite permite que clientes tratem objetos individuais e
composições de objetos de maneira uniforme.
CommonPatterns(byGOF)
Composite
Uma das motivações deste padrão surgiu das estruturas hierárquicas
necessárias para o desenvolvimento de aplicações gráficas.
CommonPatterns(byGOF)
Composite
CommonPatterns(byGOF)
Decorator
Anexa resposabilidades adicionais a um objeto dinamicamente,
oferencendo uma alternativa flexível ao uso de herança para
estender uma funcionalidade.
CommonPatterns(byGOF)
Decorator
CommonPatterns(byGOF)
Decorator
CommonPatterns(byGOF)
Factory Method(VirtualConstructor)
Define uma interface para criar um objeto mas deixar que subclasses
decidam que classe instanciar. Factory Method permite que uma
classe delegue a responsabilidade de instanciamento às subclasses.
CommonPatterns(byGOF)
Factory Method(VirtualConstructor)
CommonPatterns(byGOF)
Strategy
Definir uma família de algoritmos, encapsular cada um, e fazê-los
intercambiáveis. Strategy permite que algoritmos mudem
independentemente entre clientes que os utilizam.
CommonPatterns(byGOF)
Strategy
CommonPatterns(byGOF)
TemplateMethod
Define o esqueleto de um algoritmo dentro de uma operação,
deixando alguns passos a serem preenchidos pelas subclasses.
Template Method permite que suas subclasses redefinam certos
passos de um algoritmo sem mudar a sua estrutura.
CommonPatterns(byGOF)
TemplateMethod
CommonPatterns(byGOF)
TemplateMethod
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
VUPatterns(DavidBudgen)
Zhang, C., & Budgen, D. (2013). A survey of experienced user perceptions about
software design patterns. Information and Software Technology, 55(5), 822–835.
VUPatterns(DavidBudgen)
Desenvolvedores
Zhang, C., & Budgen, D. (2013). A survey of experienced user perceptions about
software design patterns. Information and Software Technology, 55(5), 822–835.
VUPatterns(DavidBudgen)
Pesquisadores
Zhang, C., & Budgen, D. (2013). A survey of experienced user perceptions about
software design patterns. Information and Software Technology, 55(5), 822–835.
VUPatterns(DavidBudgen)
1. Proxy
2. Facade
VUPatterns(DavidBudgen)
Proxy (Surrogate)
O objetivo deste padrão é prover um substituto ou ponto de acesso
através do qual um objeto possa controlar o acesso a outro.
VUPatterns(DavidBudgen)
Proxy (Surrogate)
O objetivo deste padrão é prover um substituto ou ponto de acesso
através do qual um objeto possa controlar o acesso a outro.
VUPatterns(DavidBudgen)
Proxy (Surrogate)
VUPatterns(DavidBudgen)
Facade
O objetivo deste padrão é fornecer uma interface unificada para um
determinado conjunto de interfaces de um subsistema.
Ele define uma interface em alto nível que visa simplificar o uso de
subsistemas.
VUPatterns(DavidBudgen)
Facade
VUPatterns(DavidBudgen)
Facade
+ Facilita o desacoplamento de camadas;
+ Aumenta a coesão dos objetos das camadas inferiores;
ÍNDICE
1. Introdução
2. Definição
3. Categorização
a. GOF
b. Metsker & Wesley
4. Common Patterns (by GOF)
5. VU Patterns (David Budgen)
6. Conclusões
DúvidasDúvidas
ApresentaçãodosconceitosfundamentaisdeDesignPatternintroduzidospeloGOF
CatálogodoGangOfFour-DesignPatterns–ElementsofReusableObject-OrientedSoftware
Pedro Henrique Frozi

Mais conteúdo relacionado

PPTX
Apresentação tcc final
PDF
Design patterns de uma vez por todas
PPT
Apresentação Introdução Design Patterns
PDF
Padrões de Projeto (GoF)
ODP
Design Patterns
PDF
Design Patterns
PPT
design patterns - introdução
PPT
Padrões de design orientado a objetos
Apresentação tcc final
Design patterns de uma vez por todas
Apresentação Introdução Design Patterns
Padrões de Projeto (GoF)
Design Patterns
Design Patterns
design patterns - introdução
Padrões de design orientado a objetos

Semelhante a Design Patterns - Introdução e Práticas (20)

PDF
GoF Design Patterns - Borland Conference (BorCon) 2004
PPT
Padroes de projetos gof
PDF
Design Patterns - Aula 2
PDF
BlingTech - Padrões de Projeto
PDF
Design patterns: resolvendo problemas comuns (ruby)
PDF
Design Patterns - Aula 1
PPT
Design Patterns
PPTX
Design pattern
PPTX
5507 os principais design patterns
PPT
Gof design patterns
PPT
Padrões De Projeto e Anti Patterns
PPT
pec-12-patterns-intro.ppt
PDF
Quick reference
DOC
Travalho versao final
PPTX
Dessign patterns: Resoluções comuns para problemas comuns de POO
PDF
Introdução a Padrões de Projeto
PDF
Padrões de Projeto - Design Patterns
PPT
Patterns
PDF
Design patterns
PDF
Padrões de Projeto de Software
GoF Design Patterns - Borland Conference (BorCon) 2004
Padroes de projetos gof
Design Patterns - Aula 2
BlingTech - Padrões de Projeto
Design patterns: resolvendo problemas comuns (ruby)
Design Patterns - Aula 1
Design Patterns
Design pattern
5507 os principais design patterns
Gof design patterns
Padrões De Projeto e Anti Patterns
pec-12-patterns-intro.ppt
Quick reference
Travalho versao final
Dessign patterns: Resoluções comuns para problemas comuns de POO
Introdução a Padrões de Projeto
Padrões de Projeto - Design Patterns
Patterns
Design patterns
Padrões de Projeto de Software
Anúncio

Último (16)

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

Design Patterns - Introdução e Práticas