public static void EX1() { CareTaker careTaker = new CareTaker(); Originator objeto = new Originator(); objeto.SetState("estado original"); objeto.ShowState(); careTaker.AddStep(new Memento.Exemplo1.Memento(objeto.SaveState())); objeto.SetState("mutação de estado 1"); objeto.SetState("mutação de estado 2"); objeto.RestoreState(careTaker.GetLastStep()); objeto.ShowState(); }