Exemple #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);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Caretaker  caretaker  = new Caretaker();
            Originator originator = new Originator(caretaker);

            originator.SetState("state1");
            originator.CreateMemento();
            Console.WriteLine("CurrentState: " + originator.GetState());
            originator.SetState("state2");
            originator.CreateMemento();
            Console.WriteLine("CurrentState: " + originator.GetState());

            originator.SetMemento(caretaker.GetPreviousMemento());
            Console.WriteLine("RolledBackState: " + originator.GetState());
        }
        static void Main(string[] args)
        {
            Originator o = new Originator();

            o.State = "On";

            // Store internal state

            Caretaker c = new Caretaker();

            c.Memento = o.CreateMemento();

            // Continue changing originator

            o.State = "Off";

            // Restore saved state

            o.SetMemento(c.Memento);

            // Wait for user

            Console.ReadKey();
        }