Adapter

Architecture 🟢 Junior

Definition

Convertit l'interface d'une classe en une autre interface attendue par le client. Permet a des classes incompatibles de collaborer.

Analogie

Un adaptateur de prise electrique : ta prise francaise fonctionne dans une prise anglaise grace a l'adaptateur.

Exemple de code

class StripeAdapter {
  constructor(stripe) { this.stripe = stripe; }
  pay(amount) {
    return this.stripe.charges.create({ amount });
  }
}

Cas d'usage

Integrer une librairie tierce dont l'API ne correspond pas a votre interface interne.

Anti-pattern

Adapter toute l'application a la librairie externe au lieu d'isoler l'adaptation.
#architecture#interview#gof#structural