Thiago silva barros_1102133_ads_640_padrao_adapter

332 visualizações

Publicada em

Padrão de Projeto Adapter

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
332
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Thiago silva barros_1102133_ads_640_padrao_adapter

  1. 1. Padrão Adapter Thiago Barros 1102133 ADS 640
  2. 2. Problema  Hoje em dia, não é difícil encontrarmos vários tipos de tomada... Você certamente já teve problemas para ligar um aparelho...
  3. 3. Solução Utilizar um adaptador, conhecido como “t” ou “benjamim”
  4. 4. Solução  Fazendo uma analogia, podemos dizer que o adaptador muda a interface da tomada para algo parecido com o que seu conector espera encontrar.  Mas como utilizar adaptadores em Orientação a Objetos?
  5. 5. Adaptadores orientados a objetos Digamos que você tenha que encaixar uma nova biblioteca de classes, adquirida de outro fornecedor, em um sistema já existente, mas as interfaces projetadas por esse novo fornecedor sejam diferentes das adotadas pelo fornecedor anterior...
  6. 6. Adaptadores orientados a objetos Você não quer resolver o problema mudando o código existente e nem mudar o código do fornecedor, então, escreva uma classe que adapte a interface do novo fornecedor ao formato que o sistema espera encontrar...
  7. 7. Adaptadores orientados a objetos O adaptador funciona como um intermediário, recebendo as solicitações do cliente e convertendo-as para um formato que faça sentido para as classes do novo fornecedor.
  8. 8. Padrão Adapter Para exemplo, será utilizado o exemplo de patos utilizado no Capitulo 1 do livro Use a Cabeça Padrões de Projetos (vide referencias bibliográficas)...
  9. 9. Padrão Adapter Aqui esta uma subclasse de Duck, MallardDuck...
  10. 10. Padrão Adapter Chegou a hora de conhecer a mais nova ave da turma...
  11. 11. Padrão Adapter Agora digamos que alguns objetos Duck estejam em falta e você queira usar objetos Turkey em seu lugar. Os perus tem uma interface diferente, logo não podemos utiliza-los do jeito que estão... Portanto, vamos escrever um Adaptador
  12. 12. Padrão Adapter Agora vamos testar nosso adaptador...
  13. 13. Padrão Adapter Agora que você sabe o que é um adaptador, vamos voltar e analisar novamente suas peças...
  14. 14. Padrão Adapter O cliente faz uma solicitação ao adaptador chamando um método nele através da interface alvo...
  15. 15. Padrão Adapter O adaptador traduz a solicitação para uma ou mais chamadas de métodos no adaptado usando a interface desse objeto...
  16. 16. Padrão Adapter O cliente recebe os resultados da chamada sem jamais perceber que há um adaptador fazendo a tradução...
  17. 17. Exercício  Uma empresa vende somente carros, seu sistema implementa a classe interface Carro public interface Carro{ public void quatroRodas(); public void Volante(); }
  18. 18. Exercício  Um exemplo de venda é o Fusca public class Fusca implements Carro{ public void quatroRodas(){ System.ou.println("4 rodas ok"); } public void Volante(){ System.ou.println("volante ok"); } }
  19. 19. Exercício  A empresa começa a vendar motos, e ganha de seu fornecedor um sistema pronto.  Adapte a interface Moto para a interface Carro public interface Moto{ public void duasRodas(); public void guidao(); } public class cg125 implements Moto{ public void duasRodas(){ System.ou.println("2 rodas ok"); } public void guidao(){ System.ou.println("guidao ok"); } }
  20. 20. Exercício - Solução public class cg125Adapter implements Carro{ Moto moto; public cg125Adapter(){ this.moto = moto; } public void quatroRodas(Moto moto){ moto.duasRodas(); } public void Volante(){ moto.guidao(); } }
  21. 21. Referências • Livro: FREEMAN, Eric; FREEMAN, Elisabeth, Use a Cabeça! (Head First) Padrões de Projetos (Design Patterns) , 2ª Ed..

×