Sobes.tech
Junior — Middle

Pouvez-vous expliquer en quoi consiste le principe de fonctionnement et l'objectif du patron de conception Adapter?

sobes.tech IA

Réponse de l'IA

Le modèle de conception Adapter (adaptateur) est utilisé pour rendre l'interface d'une classe compatible avec l'interface attendue par le client. Cela permet d'utiliser ensemble des classes avec des interfaces incompatibles.

L'adaptateur agit comme un "traducteur" entre deux objets.

Exemple en Java :

// Interface cible que le client attend
interface Target {
    void request();
}

// Classe avec une interface incompatible
class Adaptee {
    void specificRequest() {
        System.out.println("Requête spécifique");
    }
}

// Adaptateur qui implémente Target et appelle Adaptee
class Adapter implements Target {
    private Adaptee adaptee;

    Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    public void request() {
        adaptee.specificRequest();
    }
}

// Utilisation
public class Client {
    public static void main(String[] args) {
        Adaptee adaptee = new Adaptee();
        Target target = new Adapter(adaptee);
        target.request(); // appelle la requête spécifique via l'adaptateur
    }
}

Ainsi, l'adaptateur permet d'intégrer des classes existantes sans modifier leur code.