STRUCTURAL
Adapter
Convertire l'interfaccia di una classe in un'altra interfaccia che i client si aspettano. Adapter permette a classi di lavorare insieme che altrimenti non potrebbero a causa di interfacce incompatibili.
Esempi di Codice
Adapter per API di Pagamento
Adattamento di diverse API di pagamento (Stripe, PayPal) a un'interfaccia comune.
JAVASCRIPT
Loading...
Adapter per Legacy Database
Adattamento di vecchio sistema di storage XML a nuova interfaccia JSON.
JAVASCRIPT
Loading...
Esempi nel Mondo Reale
Integrazione API di terze parti (Stripe, PayPal, AWS SDK)
Legacy code integration (adattamento vecchio codice a nuove interfacce)
Database adapters (MySQL, PostgreSQL, MongoDB)
Logger adapters (Winston, Log4j, console)
Media player adapters (formati audio/video diversi)
Quando Usarlo
Quando vuoi usare una classe esistente ma la sua interfaccia non corrisponde
Quando vuoi creare una classe riutilizzabile che coopera con classi incompatibili
Quando hai bisogno di usare più sottoclassi ma è impraticabile adattarle tutte
Quando vuoi integrare librerie di terze parti con interfacce diverse
Quando NON Usarlo
Quando puoi modificare direttamente la classe originale
Quando l'adattamento è troppo complesso e introduce troppa logica
Quando ci sono troppe conversioni di dati costose
Pattern Correlati