public static void Main(String[] args) { Caretaker caretaker = new Caretaker(); Originator originator = new Originator(); originator.Set("State1"); originator.Set("State2"); caretaker.AddMemento(originator.SaveToMemento()); originator.Set("State3"); caretaker.AddMemento(originator.SaveToMemento()); originator.Set("State4"); originator.RestoreFromMemento(caretaker.GetMemento(1)); Console.ReadLine(); }
static void Main(string[] args) { List<Originator.Memento> savedStates = new List<Originator.Memento>(); Originator originator = new Originator(); originator.Set("State1"); originator.Set("State2"); savedStates.Add(originator.SaveToMemento()); originator.Set("State3"); // We can request multiple mementos, and choose which one to roll back to. savedStates.Add(originator.SaveToMemento()); originator.Set("State4"); originator.RestoreFromMemento(savedStates[1])); }
public void TestMemento() { var savedStates = new List <Originator.Memento>(); var originator = new Originator(); originator.Set("State1"); originator.Set("State2"); savedStates.Add(originator.SaveToMemento()); originator.Set("State3"); // We can request multiple mementos, and choose which one to roll back to. savedStates.Add(originator.SaveToMemento()); originator.Set("State4"); originator.RestoreFromMemento(savedStates[1]); }