Memento pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Iakopo (discussione | contributi)
m stub
Llodi (discussione | contributi)
fix
Riga 1:
{{S|informatica}}
Nella [[programmazione softwareorientata agli oggetti|programmazione ad oggetti]], si dice '''Memento''' (ricorda) l'operazione di estrarre lo stato interno di un oggetto, senza violarne l’incapsulazionel'[[Incapsulamento (informatica)|incapsulamento]], e memorizzarlo, per poterlo poi ripristinare in un momento successivo.
 
Tipico esempio è l'operazione di [[Undo]], che consente di ripristinare lo stato di uno o più oggetti prima dell'esecuzione di una data operazione.
 
La tecnica può essere usata anche in un linguaggio non-[[object-oriented]].
 
== Implementazione ==
Il punto chiave di questo pattern è la definizione di un oggetto di tipo ''memento'' nel quale verrà immagazzinato lo stato di un oggetto, l'''originator''. Tale oggetto ''memento'' disporrà di una doppia interfaccia:
* quella verso l'''originator'', più ampia, che consentirà a questo di salvare il suo stato interno e di ripristinarlo.
* quella verso gli altri, che esporrà solamente l'eventuale distruttore.
 
Solo l'''originator'' conoscerà quindi la reale interfaccia del ''memento'', e solo esso sarà in grado di istanziarlo.
 
==Voci correlate==
* [[Design pattern]]
* [[anti-pattern]]
* [[Design Patterns]] - libro
 
== Voci correlate ==
* [[Design pattern]]
* [[anti-pattern]]
* [[Design Patterns]] - libro
*[[Programmazione orientata agli oggetti]]
 
{{Design Patterns Patterns}}