Memento pattern

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

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]