static void Main(string[] args) { Originator originator = new Originator(); CareTaker careTaker = new CareTaker(); //设定初始状态 originator.setState("hello"); Console.WriteLine($"初始状态:{originator.getState()}"); //保存状态 careTaker.setMemento(originator.CreatMemento()); //修改状态 originator.setState("world"); Console.WriteLine($"修改后状态:{originator.getState()}"); //恢复状态 originator.restoreMemento(careTaker.GetMemento()); Console.WriteLine($"恢复后状态:{originator.getState()}"); Console.Read(); }
static void Main(string[] args) { Originator originator = new Originator(); CareTaker careTaker = new CareTaker(); originator.setState("State #1"); originator.setState("State #2"); careTaker.add(originator.saveStateToMemento()); originator.setState("State #3"); careTaker.add(originator.saveStateToMemento()); originator.setState("State #4"); Console.WriteLine("Current State: " + originator.getState()); originator.getStateFromMemento(careTaker.get(0)); Console.WriteLine("First saved State: " + originator.getState()); originator.getStateFromMemento(careTaker.get(1)); Console.WriteLine("Second saved State: " + originator.getState()); Console.WriteLine("Hello World!"); }