public static void main(String[] args) { Originator originator = new Originator(); originator.setState("ON"); originator.show(); CareTaker careTaker = new CareTaker(); careTaker.setMemento(originator.createMemento()); originator.setState("OFF"); originator.show(); originator.setMemento(careTaker.getMemento()); originator.show(); }
public static void main(String[] args) { Caretaker caretaker = new Caretaker(); Originator originator = new Originator(); originator.set("State1"); originator.set("State2"); caretaker.addMemento(originator.saveToMemento()); originator.set("State3"); caretaker.addMemento(originator.saveToMemento()); originator.set("State4"); originator.restoreFromMemento(caretaker.getMemento(1)); }
public static void main(String[] args) { Originator org = new Originator(); org.setStat("ON"); Memento memento = org.createMemento(); Caretaker c = new Caretaker(); // memento 所有接口都对外可见......导致数据被串改危险 // memento.setStat("abc"); c.saveMemento(memento); org.setStat("OFF"); org.restoreMemento(c.retrieveMemento()); System.out.println(org.getStat()); }