/// <summary>
        /// Entry point into console application.
        /// </summary>
        static void Main()
        {
            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();
        }
예제 #2
0
            /// <summary>
            /// Entry point into console application.
            /// </summary>
            public static void Main()
            {
                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();
            }
예제 #3
0
        public static void Mein()
        {
            var originator = new Originator("Hello world!");
            var caretaker  = new Caretaker(originator);

            caretaker.Backup();
            originator.DoSomething();

            caretaker.Backup();
            originator.DoSomething();

            caretaker.Backup();
            originator.DoSomething();

            Console.WriteLine();
            caretaker.ShowHistory();

            // Undo the changes.
            caretaker.Undo();
            caretaker.ShowHistory();

            caretaker.Undo();
            caretaker.Undo();
        }