Memento pattern
Nella programmazione ad oggetti, si dice Memento (ricorda) l'operazione di estrarre lo stato interno di un oggetto, senza violarne l'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 a come era/erano prima dell'esecuzione di una data operazione.
La tecnica può essere usata anche in un linguaggio non-object-oriented.
Implementazione
[modifica | modifica wikitesto]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
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su Memento pattern