Adapter

Architecture 🟢 Junior

Définition

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 électrique : ta prise française fonctionne dans une prise anglaise grâce a l'adaptateur.

Exemple de code

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

Cas d'usage

Intégrer 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

← → au clavier pour passer d'une fiche à l'autre