Adapter
Architecture 🟢 JuniorDé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.