예제 #1
0
        public void Test_Demo()
        {
            OriginatorDemo originator = new OriginatorDemo($"State at { DateTime.Now.ToShortTimeString() }");

            CaretakerDemo caretaker = new CaretakerDemo(originator);

            caretaker.BackUp();
            originator.DoSomething();

            caretaker.BackUp();
            originator.DoSomething();

            caretaker.BackUp();
            originator.DoSomething();

            caretaker.BackUp();
            originator.DoSomething();

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

            Console.WriteLine();
            caretaker.Undo();
            caretaker.Undo();
            Console.WriteLine("After undo 2 times.");

            caretaker.DisplayTheLastState();
        }
 public CaretakerDemo(OriginatorDemo originator)
 {
     _originator = originator;
 }