public static void Run() { var memento = new MementoPattern <string>(); memento.SetValue("State #1"); memento.SetValue("State #2"); memento.SetValue("State #3"); memento.SetValue("State #4"); Console.WriteLine("<Memento Pattern Example>"); Console.WriteLine(); Console.WriteLine("\tState #1"); Console.WriteLine("\tState #2"); Console.WriteLine("\tState #3"); Console.WriteLine("\tState #4"); Console.WriteLine(); Console.WriteLine("\tCurrent State: " + memento.GetValue()); memento.Undo(); Console.WriteLine("\tUndo -> State: " + memento.GetValue()); memento.Undo(); Console.WriteLine("\tUndo -> State: " + memento.GetValue()); memento.Redo(); Console.WriteLine("\tRedo -> State: " + memento.GetValue()); memento.Redo(); Console.WriteLine("\tRedo -> State: " + memento.GetValue()); Console.WriteLine(); Console.WriteLine("</Memento Pattern Example>"); Console.WriteLine(); }
public static void MementoDemo() { var mp = new MementoPattern(); //mp.MementoDemo(); //mp.MementoDemo2(); //mp.MementoDemo3(); mp.MementoDemo4(); }