Adapter pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Botcrux (discussione | contributi)
m Bot: fix wl, replaced: Design Patterns patterns → Design pattern
 
(9 versioni intermedie di 8 utenti non mostrate)
Riga 1:
{{F|programmazione|febbraio 2013}}
Con il nome '''adapter''', o '''adattatore''' si denota un ''[[design pattern]]'' utilizzato in [[informatica]] nella [[programmazione orientata agli oggetti]]. A volte viene chiamato ''wrapper'' (ovvero ''involucro'') per il [[#Struttura|suo schema di funzionamento]].
 
Il fine dell'''adapter'' è di fornire una soluzione astratta al problema dell'interoperabilità tra interfacce differenti. Il problema si presenta ogni qual volta nel progetto di un ''[[software]]'' si debbano utilizzare sistemi di supporto (come per esempio [[Libreria (informaticasoftware)|librerie]]) la cui interfaccia non è perfettamente compatibile con quanto richiesto da applicazioni già esistenti. Invece di dover riscrivere parte del sistema, compito oneroso e non sempre possibile se non si ha a disposizione il [[codice sorgente]], può essere comodo scrivere un ''adapter'' che faccia da tramite.
 
L'''Adapter'' è un ''pattern'' strutturale che può essere basato sia su [[Classe (informatica)|classi]] che su [[Oggetto (informatica)|oggetti]].
Riga 17:
==Struttura==
{{S sezione|informatica}}
Il pattern ''Adapter'' può essere basato su classi, utilizzando l'[[ereditarietà (informatica)|ereditarietà]] multipla per adattare interfacce diverse con il meccanismo dell'ereditarietà, oppure sullasu composizioneoggetti dicon oggettila composition, ovvero includendo l’oggetto sorgente nell’implementazione dell’adapter..
<!--
===Basata su classi===
Riga 42:
* '''Client''': collabora con gli oggetti in conformità con l'interfaccia Target.
* '''Adapter''': adatta l'interfaccia Adaptee all'interfaccia Target.
 
== Voci correlate ==
* [[Design pattern]]
* [[Bridge pattern]]
* [[Decorator]]
* [[Proxy pattern]]
 
== Esempi ==
 
===PHP===
<sourcesyntaxhighlight lang="php">
// Esempio Adapter Pattern
 
Line 209 ⟶ 202:
//Lavaggio terminato
//---Vestiti pronti---
</syntaxhighlight>
</source>
 
== Voci correlate ==
* [[Design pattern]]
* [[Bridge pattern]]
* [[Decorator]]
* [[Proxy pattern]]
 
== Altri progetti ==
{{interprogetto|commons=Adapter (design pattern)}}
 
{{Design Patterns Patternspattern}}
 
[[Categoria:PatternDesign pattern]]