static void Main(string[] args) { Originator o = new Originator(); o.State = "On"; Caretaker c = new Caretaker(); c.Memento = o.CreateMemento(); o.State = "Off"; o.SetMemento(c.Memento); }
static void Main(string[] args) { Caretaker caretaker = new Caretaker(); Originator originator = new Originator(caretaker); originator.SetState("state1"); originator.CreateMemento(); Console.WriteLine("CurrentState: " + originator.GetState()); originator.SetState("state2"); originator.CreateMemento(); Console.WriteLine("CurrentState: " + originator.GetState()); originator.SetMemento(caretaker.GetPreviousMemento()); Console.WriteLine("RolledBackState: " + originator.GetState()); }
static void Main(string[] args) { Originator o = new Originator(); o.State = "On"; // Store internal state Caretaker c = new Caretaker(); c.Memento = o.CreateMemento(); // Continue changing originator o.State = "Off"; // Restore saved state o.SetMemento(c.Memento); // Wait for user Console.ReadKey(); }