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