예제 #1
0
        //Caretaker
        static void Main(string[] args)
        {
            List <Memento> savedStates = new List <Memento>();

            Originator originator = new Originator();

            originator.SetState("State1");

            savedStates.Add(originator.Create());
            originator.SetState("State2");
            originator.SetState("State3");

            savedStates.Add(originator.Create());
            originator.SetState("State4");

            foreach (var state in savedStates)
            {
                originator.Restore(state);
            }
        }