*/
public void restoreMemento(MementoIF memento) {
Memento m = (Memento) memento;
changeState(m.state);
}
private class Memento implements MementoIF {
private String state;
/**
* ¹¹Ôì·½·¨
*/
private Memento(Originator o) {
this.state = o.state;
}
private String getState() {
return state;
}
}
}
¡¡¿Í»§¶Ë½ÇÉ«Àà
[java]
package com.bankht.Memento.HistoryOnSelf;
/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-7-2 ÏÂÎç05:03:29
*
* @Àà˵Ã÷ £º¿Í»§¶Ë½ÇÉ«Àà
*/
public class Client {
public static void main(String[] args) {
Originator o = new Originator();
// ÐÞ¸Ä״̬
o.changeState("state 0");
// ´´½¨±¸Íü¼
MementoIF memento = o.createMemento();
// ÐÞ¸Ä״̬
o.changeState("state 1");
// °´ÕÕ±¸Íü¼»Ö¸´¶ÔÏóµÄ״̬
o.restoreMemento(memento);
}
}
package com.bankht.Memento.HistoryOnSelf;
/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-7-2 ÏÂÎç05:03:29
*
* @Àà˵Ã÷ £º¿Í»§¶Ë½ÇÉ«Àà
*/
public class Client {
public static void main(String[] args) {
Originator o = new Originator();
// ÐÞ¸Ä״̬
o.changeState("state 0");
// ´´½¨±¸Íü¼
MementoIF memento = o.createMemento();
// ÐÞ¸Ä״̬
o.changeState("state 1");
// °´ÕÕ±¸Íü¼»Ö¸´¶ÔÏóµÄ״̬
o.restoreMemento(memento);
}
}
×÷Õߣºm13666368773