SlideShare uma empresa Scribd logo

GoF Design Patterns - Borland Conference (BorCon) 2004

Uma palestra "vintage" apresentada na Borland Conference 2004. Foi apresentada em uma trilha de desenvolvedores Java, onde depois desta apresentação, mostrei com live coding alguns patterns implementados com a linguagem Java, usando o JBuilder. O foco da palestra foi nos GoF Patterns mas também comentei sobre outros repositórios de padrões que usava como referência na época. :)

1 de 24
Baixar para ler offline
Design Patterns para
Java
Daniel Wildt (daniel.wildt@bluestar.inf.br)
JBuilder/Delphi Certified Instructor/Developer
http://www.geocities.com/dwildt2
Bluestar Technology
http://www.bluestar.inf.br
Daniel Wildt (daniel.wildt@bluestar.inf.br)
JBuilder/Delphi Certified Instructor/Developer
http://www.geocities.com/dwildt2
3
Agenda
O que são Design Patterns e suas
características
Padrões de projeto de Mercado, visão
geral
Padrões de Projeto GoF
Criação
Estruturais
Comportamento
4
O que são Design Patterns e suas
características
Na definição de Christopher
Alexander, “Cada padrão descreve um
problema que acontece diversas
vezes em nosso ambiente e descreve
uma solução base de modo que se
possa reutilizar a solução milhares de
vezes...”.
Descrição de objetos e classes que se
comunicam para resolver um
problema de design genérico em um
contexto particular.
5
O que são Design Patterns e suas
características
Cada padrão de projeto possui
características, como:
Nome: sua identificação para o
mercado, normalmente o atributo
mais complicado de se descrever.
Problema: indicar quando o uso do
padrão pode ser interessante.
6
O que são Design Patterns e suas
características
Cada padrão de projeto possui
características, como:
Solução: como aplicar o padrão de
projeto
Consequências: perdas e ganhos
ao aplicar o padrão. As vezes se
pode perder coesão ou ganhar
acoplamento no sistema ao fazer
uso de determinado padrão.

Recomendados

Padrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadePadrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadeEduardo Nicola F. Zagari
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonEduardo Nicola F. Zagari
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Padrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyPadrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyEduardo Nicola F. Zagari
 
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...minastestingconference
 

Mais conteúdo relacionado

Mais procurados

Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryPadrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryEduardo Nicola F. Zagari
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Fábio Nogueira de Lucena
 

Mais procurados (6)

Patterns: Factory Method
Patterns: Factory MethodPatterns: Factory Method
Patterns: Factory Method
 
BDD com Cucumber
BDD com CucumberBDD com Cucumber
BDD com Cucumber
 
Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryPadrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract Factory
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
BDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + JavaBDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + Java
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 

Semelhante a GoF Design Patterns - Borland Conference (BorCon) 2004

POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfAndreCosta502039
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosFabio Kon
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
Arquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrArquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrThiago Boufleuhr
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patternsAndre Baltieri
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gofYan Justino
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgeLorran Pegoretti
 
Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Filipe Portes
 
Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsHerval Freire
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 

Semelhante a GoF Design Patterns - Borland Conference (BorCon) 2004 (20)

POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
 
GoF.ppt
GoF.pptGoF.ppt
GoF.ppt
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Arquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrArquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhr
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patterns
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gof
 
Travalho versao final
Travalho versao finalTravalho versao final
Travalho versao final
 
Design pattern
Design patternDesign pattern
Design pattern
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e Bridge
 
Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014
 
Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti Patterns
 
Padrões de Projeto (GoF)
Padrões de Projeto (GoF)Padrões de Projeto (GoF)
Padrões de Projeto (GoF)
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 

Mais de Daniel Wildt

Pré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisPré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisDaniel Wildt
 
O que é inovação?
O que é inovação?O que é inovação?
O que é inovação?Daniel Wildt
 
O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]Daniel Wildt
 
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014Daniel Wildt
 
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Daniel Wildt
 
Causas - Qual é a sua?
Causas - Qual é a sua?Causas - Qual é a sua?
Causas - Qual é a sua?Daniel Wildt
 
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.Daniel Wildt
 
Tarefas! O Que fazer?
Tarefas! O Que fazer?Tarefas! O Que fazer?
Tarefas! O Que fazer?Daniel Wildt
 
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)Daniel Wildt
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Daniel Wildt
 
JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?Daniel Wildt
 
Agile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesAgile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesDaniel Wildt
 
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoAgile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoDaniel Wildt
 
Agile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaAgile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaDaniel Wildt
 
Agile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilAgile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilDaniel Wildt
 
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Daniel Wildt
 

Mais de Daniel Wildt (20)

Não Espere!
Não Espere! Não Espere!
Não Espere!
 
Pré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisPré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos Viáveis
 
O que é inovação?
O que é inovação?O que é inovação?
O que é inovação?
 
O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]
 
Lean Canvas
Lean CanvasLean Canvas
Lean Canvas
 
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
 
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
 
Causas - Qual é a sua?
Causas - Qual é a sua?Causas - Qual é a sua?
Causas - Qual é a sua?
 
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
 
Tarefas! O Que fazer?
Tarefas! O Que fazer?Tarefas! O Que fazer?
Tarefas! O Que fazer?
 
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013
 
JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?
 
Agile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesAgile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User Stories
 
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoAgile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
 
Agile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaAgile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria Contínua
 
Agile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilAgile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura Ágil
 
Quem é você?
Quem é você?Quem é você?
Quem é você?
 
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
 
Startup Dojo!
Startup Dojo!Startup Dojo!
Startup Dojo!
 

Último

ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docxATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx2m Assessoria
 
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docxATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx2m Assessoria
 
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...2m Assessoria
 
MAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docx
MAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docxMAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docx
MAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docx2m Assessoria
 
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docxATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx2m Assessoria
 
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxMAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxjosecarlos413721
 
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docxMAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx2m Assessoria
 
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxjosecarlos413721
 
MAPA - DESENHO TÉCNICO - 51-2024.docx
MAPA   -   DESENHO TÉCNICO - 51-2024.docxMAPA   -   DESENHO TÉCNICO - 51-2024.docx
MAPA - DESENHO TÉCNICO - 51-2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
ATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docxATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
ATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx2m Assessoria
 
Aula 01 - Desenvolvimento web - A internet.pptx
Aula 01 - Desenvolvimento web - A internet.pptxAula 01 - Desenvolvimento web - A internet.pptx
Aula 01 - Desenvolvimento web - A internet.pptxHugoHoch2
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx2m Assessoria
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxjosecarlos413721
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx2m Assessoria
 
MAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
MAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docxMAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
MAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx2m Assessoria
 
Uniagil - LACP - Lean Agile Coach Professional 2024.pdf
Uniagil - LACP - Lean Agile Coach Professional 2024.pdfUniagil - LACP - Lean Agile Coach Professional 2024.pdf
Uniagil - LACP - Lean Agile Coach Professional 2024.pdfPatriciaAraujo658854
 
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docxATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx2m Assessoria
 
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024Ismael Ash
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxjosecarlos413721
 

Último (20)

ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docxATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
 
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docxATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
 
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
 
MAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docx
MAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docxMAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docx
MAPA - CÁLCULO DIFERENCIAL E INTEGRAL II - 512024.docx
 
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docxATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
 
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxMAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
 
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docxMAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
 
MAPA - DESENHO TÉCNICO - 51-2024.docx
MAPA   -   DESENHO TÉCNICO - 51-2024.docxMAPA   -   DESENHO TÉCNICO - 51-2024.docx
MAPA - DESENHO TÉCNICO - 51-2024.docx
 
ATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
ATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docxATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
ATIVIDADE 1 - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
 
Aula 01 - Desenvolvimento web - A internet.pptx
Aula 01 - Desenvolvimento web - A internet.pptxAula 01 - Desenvolvimento web - A internet.pptx
Aula 01 - Desenvolvimento web - A internet.pptx
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
MAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
MAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docxMAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
MAPA - GCOM - TÉCNICAS DE NEGOCIAÇÃO E VENDAS - 512024.docx
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
Uniagil - LACP - Lean Agile Coach Professional 2024.pdf
Uniagil - LACP - Lean Agile Coach Professional 2024.pdfUniagil - LACP - Lean Agile Coach Professional 2024.pdf
Uniagil - LACP - Lean Agile Coach Professional 2024.pdf
 
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docxATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
 
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 

GoF Design Patterns - Borland Conference (BorCon) 2004

  • 1. Design Patterns para Java Daniel Wildt (daniel.wildt@bluestar.inf.br) JBuilder/Delphi Certified Instructor/Developer http://www.geocities.com/dwildt2
  • 2. Bluestar Technology http://www.bluestar.inf.br Daniel Wildt (daniel.wildt@bluestar.inf.br) JBuilder/Delphi Certified Instructor/Developer http://www.geocities.com/dwildt2
  • 3. 3 Agenda O que são Design Patterns e suas características Padrões de projeto de Mercado, visão geral Padrões de Projeto GoF Criação Estruturais Comportamento
  • 4. 4 O que são Design Patterns e suas características Na definição de Christopher Alexander, “Cada padrão descreve um problema que acontece diversas vezes em nosso ambiente e descreve uma solução base de modo que se possa reutilizar a solução milhares de vezes...”. Descrição de objetos e classes que se comunicam para resolver um problema de design genérico em um contexto particular.
  • 5. 5 O que são Design Patterns e suas características Cada padrão de projeto possui características, como: Nome: sua identificação para o mercado, normalmente o atributo mais complicado de se descrever. Problema: indicar quando o uso do padrão pode ser interessante.
  • 6. 6 O que são Design Patterns e suas características Cada padrão de projeto possui características, como: Solução: como aplicar o padrão de projeto Consequências: perdas e ganhos ao aplicar o padrão. As vezes se pode perder coesão ou ganhar acoplamento no sistema ao fazer uso de determinado padrão.
  • 7. 7 Agenda O que são Design Patterns e suas características Padrões de projeto de Mercado, visão geral Padrões de Projeto GoF Criação Estruturais Comportamento
  • 8. 8 Padrões de projeto de Mercado, visão geral Padrões de projeto GoF (serão apresentados em seguida) Padrões de projeto Sun J2EE Data Transfer Object Data Access Object Front Controller Value List Handler Viewer Helper http://java.sun.com/blueprints/corej2eepatterns/P atterns/index.html
  • 9. 9 Padrões de projeto de Mercado, visão geral Coad Patterns http://www.thecoadletter.com/coadletter/ Refactoring Patterns http://www.refactoring.com
  • 10. 10 Agenda O que são Design Patterns e suas características Padrões de projeto de Mercado, visão geral Padrões de Projeto GoF Criação Estruturais Comportamento
  • 11. 11 Padrões de Projeto GoF Referência: Título: Design Patterns : Elements of Reusable Object-Oriented Software Autores: Eric Gamma, Richard Helm, Ralph Johnson, John Vlissides ISBN: 0201633612 Editora: Pearson Publicação: 1994
  • 12. 12 Agenda O que são Design Patterns e suas características Padrões de projeto de Mercado, visão geral Padrões de Projeto GoF Criação Estruturais Comportamento
  • 13. 13 Padrões de Projeto GoF Criação: Abstract Factory: provê uma interface para se criar familias de objetos relacionados ou dependentes sem utilizar as classes concretas. Builder: separa o processo de construção de um objeto complexo de sua representação. Deste modo o mesmo processo de construção pode retornar diferentes representações.
  • 14. 14 Padrões de Projeto GoF Criação: Factory: define uma interface para a criação de um objeto, mas deixa as classes escolherem qual classe deve ser instanciada. Prototype: estabelece padrão para permitir a cópia de objetos (clone) Singleton: estabelece a regra de que só pode existir um objeto disponível na memória para a classe que implementa este padrão.
  • 15. 15 Agenda O que são Design Patterns e suas características Padrões de projeto de Mercado, visão geral Padrões de Projeto GoF Criação Estruturais Comportamento
  • 16. 16 Padrões de Projeto GoF Estruturais: Adapter: permite que classes trabalhem juntas onde em outros casos não poderiam por possuirem interfaces diferentes Bridge: desacopla a implementação de uma abstração de modo que as duas possam variar de forma independente. Composite: capacidade de utilizar relações de parte-todo (composição)
  • 17. 17 Padrões de Projeto GoF Estruturais: Decorator: anexa responsabilidades a um objeto de forma dinâmica. Alternativa para especialização de classes. Facade: prover uma interface unificada para um conjunto de interfaces. Interface de mais alto nível para se trabalhar.
  • 18. 18 Padrões de Projeto GoF Estruturais: Flyweight: técnica para permitir que objetos possam ser usados em múltiplos contextos de forma simultânea. Proxy: controla o acesso ao objeto original e em alguns casos visa diminuir a complexidade de uso de objetos.
  • 19. 19 Agenda O que são Design Patterns e suas características Padrões de projeto de Mercado, visão geral Padrões de Projeto GoF Criação Estruturais Comportamento
  • 20. 20 Padrões de Projeto GoF Comportamento: Chain of Responsibility: evita acoplamento entre objetos para responder a requests. Cria uma cadeia de processamento. Command: encapsula a requisição feita para um objeto. Interpreter: padrão para suprir a necessidade de interpretadores de linguagens através de sua gramática.
  • 21. 21 Padrões de Projeto GoF Comportamento: Iterator: provê acesso sequêncial aos elementos de uma agregação sem expor sua representação. Mediator: define objeto que encapsula o relacionamento entre outros objetos. Agrega a perda de acoplamento explícito entre classes. Memento: sem violar encapsulação, captura e externaliza o estado interno de um objeto.
  • 22. 22 Padrões de Projeto GoF Comportamento: Observer: define uma dependência de um para muitos onde quando um objeto muda seu estado, todos associados são notificados. State: permite ao objeto modificar seu comportamento quando seu estado interno muda. Strategy: necessidade de diferentes variantes de um algoritmo, conforme situação. Interdependência.
  • 23. 23 Padrões de Projeto GoF Comportamento: Template Method: define o esqueleto de um algoritmo e permite que subclasses redefinam alguns passos sem modificar a estrutura do algoritmo. Visitor: permite definir uma nova operação sem modificar a estrutura das outras classes que em este opera.
  • 24. 24 Obrigado! Design Patterns para Java Daniel Wildt (daniel.wildt@bluestar.inf.br) JBuilder/Delphi Certified Instructor/Developer http://www.geocities.com/dwildt2