Beispiel #1
0
        static void Main(string[] args)
        {

            Originator o = new Originator();
            o.State = "On";

            Caretaker c = new Caretaker();
            c.Memento = o.CreateMemento();

            o.State = "Off";
            o.SetMemento(c.Memento);

            Console.ReadKey();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Originator o = new Originator();

            o.State = "On";
            o.Show();

            Caretaker c = new Caretaker();

            c.memento = o.CreateMemento();

            o.State = "Off";
            o.Show();

            o.SetMemento(c.memento);
            o.Show();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            Originator o = new Originator();

            o.State = "on";
            o.Show();
            Caretaker c = new Caretaker();

            c.Memento = o.CreateMemento();

            o.State = "off";
            o.Show();

            o.SetMemento(c.Memento);
            o.Show();

            Console.Read();
        }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        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();
        }
Beispiel #6
0
        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();
        }