Aula 19

Padrão ADAPTER

A função do Padrão ADAPTER é fazer com que a interface de uma classe possa ser "adaptada" à interface de uma outra para que essas possam trabalhar juntas. É a melhor forma de se ligar classes que tenham interfaces imcompatíveis. Podemos usar o Adapter caso seja necessário modificar a interface de uma classe em função de um novo requisito.

O padrão de projeto Adapter é necessário quando possuímos dois objetos que precisam se comunicar mas as suas interfaces são diferentes. O adaptador é responsável por "converter" uma interface em outra tornando possível a comunicação entre os objetos.

EXEMPLO:

public void TomadaTresPinos {
public void fornecerEnergia ();
}

public interface TomadaDoisPinos {
public void fornecerEnergia ();
}

public interface PlugueTresPinos {
public void conectar (TomadaTresPinos tomada) ;
}


public void PlugueDoisPinos {
public void conectar (TomadaDoisPinos) ;
}


public class TomadaEuropeia implements TomadaTresPinos {
public void fornecerEnergia() {

System.out.println("[TOMADA] Fornecendo energia para um plugue de três pinos!");
}

}

public class PlugueEuropeu implements PlugueTresPinos {
public void conectar(TomadaTresPinos tomada) {
System.out.println("[PLUGUE] Pegando energia elétrica de uma tomada de três pinos.");
tomada.fornecerEnergia();
}

}

public class PlugueComum implements PlugueDoisPinos {
public void conectar(TomadaDoisPinos tomada) {

System.out.println("[PLUGUE] Pegando energia elétrica de uma tomada de dois pinos.");
tomada.fornecerEnergia();
}

}

public class Adaptador implements TomadaTresPinos {

private TomadaDoisPinos tomada;

public Adaptador(TomadaDoisPinos tomada) {
this.tomada = tomada;
}

public void fornecerEnergia() {
tomada.fornecerEnergia();
}


}

public class Main {

public static void main(String[] args) {
TomadaDoisPinos tomada = new TomadaComum();
PlugueTresPinos plugue = new PlugueEuropeu();

Adaptador adapter = new Adaptador(tomada);
plugue.conectar(adapter);
}

}



Link Referência

0 comentários:

Postar um comentário