Junior — Middle
Pode explicar o princípio de funcionamento do padrão adaptador e em que casos é utilizado?
sobes.tech IA
Resposta da IA
O padrão Adaptador (Adapter) é utilizado para "adaptar" a interface de uma classe à interface que o cliente espera. Isso permite que classes com interfaces incompatíveis trabalhem juntas.
Princípio de funcionamento:
- Existe uma classe com uma interface definida (Adaptee).
- Existe um cliente que espera outra interface (Target).
- O adaptador implementa a interface Target e contém dentro de si um objeto Adaptee.
- As chamadas do cliente são redirecionadas pelo adaptador para os métodos de Adaptee, possivelmente com transformação de dados.
Usam-se quando é necessário integrar código antigo ou bibliotecas externas com interfaces incompatíveis, sem modificá-los.
Exemplo em Java:
// Interface que o cliente espera
interface Target {
void request();
}
// Classe com interface incompatível
class Adaptee {
void specificRequest() {
System.out.println("Chamada de método específico");
}
}
// Adaptador
class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void request() {
adaptee.specificRequest();
}
}
// Uso
public class Main {
public static void main(String[] args) {
Adaptee adaptee = new Adaptee();
Target adapter = new Adapter(adaptee);
adapter.request(); // Vai chamar specificRequest através do adaptador
}
}