static void Main(string[] args) { //原状态 Originator originator = new Originator() { State = "王二", State2 = "礼物" }; Console.WriteLine("原始值:{0}", originator.State); //快照 originator.CreaterMemento(); CareTaker careTaker = new CareTaker(); careTaker.Memento = originator.CreaterMemento(); originator.State = "张三"; Console.WriteLine("修改后得值:{0}", originator.State); //撤销 originator.RemoveMemento(careTaker.Memento); Console.WriteLine("赋值错误修复中{0}", originator.State); Console.ReadLine(); }
static void Main(string[] args) { Originator originator = new Originator(); CareTaker careTaker = new CareTaker(); originator.State = "State #1"; originator.State = "State #2"; careTaker.Add(originator.saveStateToMemento()); originator.State = "State #3"; careTaker.Add(originator.saveStateToMemento()); originator.State = "State #4"; Console.WriteLine("Current State: " + originator.State); originator.GetStateFromMemento(careTaker.Get(0)); Console.WriteLine("First saved State: " + originator.State); originator.GetStateFromMemento(careTaker.Get(1)); Console.WriteLine("Second saved State: " + originator.State); Console.ReadKey(); }
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!"); }
static void Main(string[] args) { //创建角色 Originator o = new Originator("史柯", 19, 183); //创建备忘录管理者 CareTaker c = new CareTaker(); c.Memento = o.CreateMemento(); Console.WriteLine(o); //更改状态 o.Name = "徐佳丽"; o.Age = 20; o.Heigth = 160; Console.WriteLine(o); //还原状态 o.SetMemento(c.Memento); Console.WriteLine(o); Console.ReadKey(); }