예제 #1
0
        /// <summary>
        /// Entry point into console application.
        /// </summary>
        private static void Main()
        {
            Originator <string> orig = new Originator <string>();

            orig.SetState("state0");
            Caretaker <string> .SaveState(orig); //save state of the originator

            orig.ShowState();

            orig.SetState("state1");
            Caretaker <string> .SaveState(orig); //save state of the originator

            orig.ShowState();

            orig.SetState("state2");
            Caretaker <string> .SaveState(orig); //save state of the originator

            orig.ShowState();

            //restore state of the originator
            Caretaker <string> .RestoreState(orig, 0);

            orig.ShowState();  //shows state0

            Console.ReadKey();
        }