Пример #1
0
        public void MementoDemo4()
        {
            var originator = new Originator();
            var caretaker  = new Caretaker3 <Originator>(originator);

            originator.State  = "s11";
            originator.State2 = "s21";
            originator.State3 = "s31";
            Console.WriteLine($"当前状态:【{originator.State}】【{originator.State2}】【{originator.State3}】");
            caretaker.CreateMemento();
            originator.State  = "s12";
            originator.State2 = "s22";
            originator.State3 = "s32";
            Console.WriteLine($"当前状态:【{originator.State}】【{originator.State2}】【{originator.State3}】");

            Console.WriteLine("------  恢复上一个状态  ------");
            caretaker.RestoreMemento();
            Console.WriteLine($"当前状态:【{originator.State}】【{originator.State2}】【{originator.State3}】");
        }
Пример #2
0
 public void CreateMemento()
 {
     _menento = Originator.Copy();
 }
Пример #3
0
 public Caretaker2(Originator originator)
 {
     Originator = originator;
 }