static void Main(string[] args) { Caretaker[] c = new Caretaker[10]; Originator originator = new Originator(); int move = 0; Simulator simulator = new Simulator(); foreach (string command in simulator) { if (command[0] == '*' && move > 0) { originator.GetMemento(c[move - 1].Memento); } else { originator.Operation(command); } move++; c[move] = new Caretaker(); c[move].Memento = originator.SetMemento(); } Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***Memento Pattern Demo***\n"); //Originator is initialized with a state Originator originatorObject = new Originator(); Memento mementoObject; originatorObject.State = "Opret state"; mementoObject = originatorObject.GetMemento(); //Making a new state originatorObject.State = "ny state"; // Restore to the previous state originatorObject.RevertToState(mementoObject); // Wait for user's input Console.ReadKey(); }