¡¶JAVAÓëģʽ¡·µÚ22Ìì¨D±¸Íü¼ģʽ (Æß)

2014-11-24 08:31:52 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 2
µÄ״̬ÉÏ
*/
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