SlideShare uma empresa Scribd logo
1 de 22
DESIGN PATTERNS
  Adapter e Decorator




   Eduardo Lira, Éwerton Araújo, Murilo Vasconcelos e Paulo Costa
ADAPTER




   2
ADAPTER

• Motivação

  • Algumas  vezes desejamos reutilizar classes ou mesmo
   bibliotecas porém sua interface é incompatível com a interface
   esperada pelo sistema que está sendo desenvolvido

  • Pode ser que não tenhamos os fontes da biblioteca para realizar
   alterações ou é desejável que não tenhamos que modificar o
   seu código para cada aplicação construída

                                3
ADAPTER

• Objetivos

  • Converter a interface de classes no intuito de torná-las
   compatíveis com a arquitetura do sistema que está sendo
   desenvolvido

  • Reutilizar
             classes existentes ou componentes antigos em
   novos sistemas ou em componentes de outras versões


                              4
ADAPTER
•O  padrão Adapter consiste em criar uma camada intermediária
 que traduz ou mapeia componentes antigos ou que não estão
 conforme a arquitetura do sistema para componentes que
 oferecem interfaces necessária pelo sistema




•A classe cliente chama métodos no objeto Adapter que as
 redireciona para o componente legado

• Pode   ser implementado tanto com agregação como por herança
                                5
ADAPTER

• Object Adapter




                      6
ADAPTER

• Class Adapter




                     7
ADAPTER

• Classe   legada




                       8
ADAPTER

• Interface   utilizada pelo sistema e o Adapter




                                  9
ADAPTER

• Classe   cliente




                        10
DECORATOR




    11
DECORATOR

• Motivação

  • Frequentementeé necessário adicionar comportamentos a
   objetos em tempo de execução

  • Herançanão é possível pois é estática e aplica a toda a classe e
   não só ao objeto

  • Osnovos comportamentos só afetam um objeto da classe e
   não todos os objetos de uma classe

                                 12
DECORATOR

• Decorator   é um padrão de projeto estrutural

•O  seu objetivo é designar dinamicamente responsabilidades
 adicionais a um objeto

• Projetado
          de forma que múltiplos decoradores podem ser
 empilhados, cada um adicionando novas responsabilidades

• Evita
      que para cada responsabilidade nova, uma subclasse seja
 criada, o que resultaria em uma grande hierarquia de classes

                               13
DECORATOR

• Estrutura:




                   14
DECORATOR

• Exemplo:

  • Uma  cafeteria que oferece várias composições de cafezinho
   diferentes

  • Expresso, expressocom leite, expresso com caramelo, expresso
   com leite e caramelo, expresso com mocha, expresso com
   mocha e caramelo, dark roast, dark roast com leite, dark roast
   com leite e caramelo, ....

                                15
DECORATOR

• Herança:




                 16
DECORATOR

• Herança:

 Claramente inviável




                           16
DECORATOR

• Solução:




                 17
DECORATOR

• Funcionamento:




•O   mesmo de uma classe DarkRoastWithMochaAndWhip
                          18
ADAPTER E DECORATOR

• São   padrões de projeto estruturais

•O  padrão Adapter altera a interface de uma classe afim de
 torná-la compatível com a arquitetura do sistema

•O  padrão Decorator não altera a interface das classes, apenas
 adiciona responsabilidades (comportamentos) em tempo de
 execução

•O padrão Decorator é mais transparente, com isso, suporta
 composição múltipla, o que não é possível no Adapter
                                19
ADAPTER E DECORATOR

• Apresentam   a mesma desvantagem:

 • Performance

   • No  caso do Adapter, é preciso adicionar uma classe que faz
     o intermédio das chamadas

   • Jáno Decorator, além de cada classe de decoração precisar
     ter uma referência do objeto concreto, cada chamada é
     recursivamente feita através dos decoradores até chegar
     no objeto concreto
                             20
ADAPTER E DECORATOR



        Dúvidas?




          21

Mais conteúdo relacionado

Mais procurados

Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de softwareAplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de softwareCesar Rocha
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Javaalexmacedo
 
Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Ryan Padilha
 
Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Ryan Padilha
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 
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
 
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
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) Grupo Treinar
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologiaselliando dias
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
Padrão de Projetos singleton
Padrão de Projetos singletonPadrão de Projetos singleton
Padrão de Projetos singletonWendel Moreira
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...
IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...
IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...Eduardo Bertolucci
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gofYan Justino
 

Mais procurados (20)

Padrões de projeto
Padrões de projetoPadrões de projeto
Padrões de projeto
 
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de softwareAplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)
 
Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
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
 
UML
UMLUML
UML
 
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 - Facade
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Padrão de Projetos singleton
Padrão de Projetos singletonPadrão de Projetos singleton
Padrão de Projetos singleton
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...
IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...
IHC - Trabalho de Prototipação - Eduardo Bertolucci e Colegas e Classe - UNOP...
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gof
 

Destaque

Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...
Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...
Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...Murilo Adriano Vasconcelos
 
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Murilo Adriano Vasconcelos
 
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...Murilo Adriano Vasconcelos
 
Introdução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens DigitaisIntrodução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens DigitaisMurilo Adriano Vasconcelos
 
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...Murilo Adriano Vasconcelos
 
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...Murilo Adriano Vasconcelos
 
Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...
Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...
Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...Murilo Adriano Vasconcelos
 

Destaque (9)

Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...
Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...
Tópicos Avançados em Computabilidade - Teorema da Recursão e Decibilidade de ...
 
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
 
Tópicos Avan
Tópicos AvanTópicos Avan
Tópicos Avan
 
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
 
Introdução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens DigitaisIntrodução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens Digitais
 
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
 
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
 
Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...
Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...
Introdução ao Processamento de Imagem Digital - Relacionamentos básicos entre...
 
Grafos e Árvores
Grafos e ÁrvoresGrafos e Árvores
Grafos e Árvores
 

Semelhante a Design Patterns - Adapter e Decorator

Padrões de projetos
Padrões de projetosPadrões de projetos
Padrões de projetosGustavo Souza
 
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADEREFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADEAlexsander Camargo
 
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorPadrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorEduardo Nicola F. Zagari
 
Compartilhamento de código com Frameworks - CocoaHeads RJ
Compartilhamento de código com Frameworks - CocoaHeads RJCompartilhamento de código com Frameworks - CocoaHeads RJ
Compartilhamento de código com Frameworks - CocoaHeads RJRenan Protector
 
Docker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerDocker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerHerbethLucas1
 
Design Patterns on Rails
Design Patterns on RailsDesign Patterns on Rails
Design Patterns on Railstchandy
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-endModularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-endMario Guedes
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Apresentação TCC-pós
Apresentação TCC-pósApresentação TCC-pós
Apresentação TCC-pósthiago.lenz
 

Semelhante a Design Patterns - Adapter e Decorator (20)

Padrões de projetos
Padrões de projetosPadrões de projetos
Padrões de projetos
 
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADEREFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
 
Refatorações
RefatoraçõesRefatorações
Refatorações
 
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorPadrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - Adaptador
 
Herança
HerançaHerança
Herança
 
Refatoração
RefatoraçãoRefatoração
Refatoração
 
Compartilhamento de código com Frameworks - CocoaHeads RJ
Compartilhamento de código com Frameworks - CocoaHeads RJCompartilhamento de código com Frameworks - CocoaHeads RJ
Compartilhamento de código com Frameworks - CocoaHeads RJ
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Docker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerDocker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners docker
 
Design Patterns on Rails
Design Patterns on RailsDesign Patterns on Rails
Design Patterns on Rails
 
Padrões de projeto
Padrões de projetoPadrões de projeto
Padrões de projeto
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-endModularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
10-codigo-limpo-parte-3.pdf
10-codigo-limpo-parte-3.pdf10-codigo-limpo-parte-3.pdf
10-codigo-limpo-parte-3.pdf
 
Apresentação TCC-pós
Apresentação TCC-pósApresentação TCC-pós
Apresentação TCC-pós
 

Último

Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 

Último (20)

Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 

Design Patterns - Adapter e Decorator

  • 1. DESIGN PATTERNS Adapter e Decorator Eduardo Lira, Éwerton Araújo, Murilo Vasconcelos e Paulo Costa
  • 3. ADAPTER • Motivação • Algumas vezes desejamos reutilizar classes ou mesmo bibliotecas porém sua interface é incompatível com a interface esperada pelo sistema que está sendo desenvolvido • Pode ser que não tenhamos os fontes da biblioteca para realizar alterações ou é desejável que não tenhamos que modificar o seu código para cada aplicação construída 3
  • 4. ADAPTER • Objetivos • Converter a interface de classes no intuito de torná-las compatíveis com a arquitetura do sistema que está sendo desenvolvido • Reutilizar classes existentes ou componentes antigos em novos sistemas ou em componentes de outras versões 4
  • 5. ADAPTER •O padrão Adapter consiste em criar uma camada intermediária que traduz ou mapeia componentes antigos ou que não estão conforme a arquitetura do sistema para componentes que oferecem interfaces necessária pelo sistema •A classe cliente chama métodos no objeto Adapter que as redireciona para o componente legado • Pode ser implementado tanto com agregação como por herança 5
  • 9. ADAPTER • Interface utilizada pelo sistema e o Adapter 9
  • 10. ADAPTER • Classe cliente 10
  • 11. DECORATOR 11
  • 12. DECORATOR • Motivação • Frequentementeé necessário adicionar comportamentos a objetos em tempo de execução • Herançanão é possível pois é estática e aplica a toda a classe e não só ao objeto • Osnovos comportamentos só afetam um objeto da classe e não todos os objetos de uma classe 12
  • 13. DECORATOR • Decorator é um padrão de projeto estrutural •O seu objetivo é designar dinamicamente responsabilidades adicionais a um objeto • Projetado de forma que múltiplos decoradores podem ser empilhados, cada um adicionando novas responsabilidades • Evita que para cada responsabilidade nova, uma subclasse seja criada, o que resultaria em uma grande hierarquia de classes 13
  • 15. DECORATOR • Exemplo: • Uma cafeteria que oferece várias composições de cafezinho diferentes • Expresso, expressocom leite, expresso com caramelo, expresso com leite e caramelo, expresso com mocha, expresso com mocha e caramelo, dark roast, dark roast com leite, dark roast com leite e caramelo, .... 15
  • 19. DECORATOR • Funcionamento: •O mesmo de uma classe DarkRoastWithMochaAndWhip 18
  • 20. ADAPTER E DECORATOR • São padrões de projeto estruturais •O padrão Adapter altera a interface de uma classe afim de torná-la compatível com a arquitetura do sistema •O padrão Decorator não altera a interface das classes, apenas adiciona responsabilidades (comportamentos) em tempo de execução •O padrão Decorator é mais transparente, com isso, suporta composição múltipla, o que não é possível no Adapter 19
  • 21. ADAPTER E DECORATOR • Apresentam a mesma desvantagem: • Performance • No caso do Adapter, é preciso adicionar uma classe que faz o intermédio das chamadas • Jáno Decorator, além de cada classe de decoração precisar ter uma referência do objeto concreto, cada chamada é recursivamente feita através dos decoradores até chegar no objeto concreto 20
  • 22. ADAPTER E DECORATOR Dúvidas? 21

Notas do Editor

  1. \n
  2. \n
  3. Falar algo!\n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. Falar algo!\n
  13. Falar algo!\n
  14. Falar algo!\n
  15. Falar algo!\n
  16. Falar algo!\n
  17. Falar algo!\n
  18. Falar algo!\n
  19. Falar algo!\n
  20. Falar algo!\n
  21. Falar algo!\n
  22. Falar algo!\n