public static void Main(string[] args) { //CreateMemento é usado para definir o estado interno do objeto. //SetMemento obterá e atribuirá esse estado interno ao originator. Originator originator = new Originator(); //Manter os objetos memento. Caretaker caretaker = new Caretaker(); originator.bike = new Bicicleta("Left", "Shimano", "Azul"); caretaker.AddMemento(originator.CreateMemento()); originator.bike = new Bicicleta("Manintou", "Shimano", "Azul"); caretaker.AddMemento(originator.CreateMemento()); originator.bike = new Bicicleta("RockShocks", "Sram", "Preta"); caretaker.AddMemento(originator.CreateMemento()); Console.WriteLine("\nConfiguração atual: " + originator.GetDetails()); Console.WriteLine("\nRestaurar a bike para estado original"); originator.bike = caretaker.GetMemento(0).bike; Console.WriteLine("\nConfiguração atual: " + originator.GetDetails()); Console.ReadKey(); }
private void BtnUndo_Click(object sender, RoutedEventArgs e) { if (currentStatement >= 0) { currentStatement--; string textBoxString = originator.RestoreFromMemento(caretaker.GetMemento(currentStatement)); theStatement.Text = textBoxString; btnRedo.IsEnabled = true; } else { btnUndo.IsEnabled = false; } }
private static void Main(string[] args) { Caretaker caretaker = new Caretaker(); Originator originator = new Originator(); originator.Text = "xXXD"; caretaker.AddMemento(originator.CreateMemento()); originator.Text = "aaa"; Console.WriteLine(originator.Text); originator.RestoreMemento(caretaker.GetMemento(0)); Console.WriteLine(originator.Text); }
public static void Main() { var noteBook = new NoteBook(); noteBook.Write("mfk"); noteBook.ShowNote(); var noteMemento = noteBook.Save(); var caretaker = new Caretaker(noteMemento); noteBook.Write("ark"); noteBook.ShowNote(); noteBook.Rollback(caretaker.GetMemento()); noteBook.ShowNote(); }
static void Main(string[] args) { Originator ori = new Originator("状态(1)"); Console.WriteLine(ori.GetState()); Caretaker ct = new Caretaker(); ct.SetMemento(ori.CreateMemento()); ori.SetState("状态(2)"); Console.WriteLine(ori.GetState()); ori.RestoreMemento(ct.GetMemento()); Console.WriteLine(ori.GetState()); }
static void Main(string[] args) { string nombreJuego = "Mario Bross"; Juego juego = new Juego(); juego.Nombre = nombreJuego; juego.Checkpoint = 1; Caretaker caretaker = new Caretaker(); Originator originator = new Originator(); juego = new Juego(); juego.Nombre = nombreJuego; juego.Checkpoint = 2; originator.Estado = juego; juego = new Juego(); juego.Nombre = nombreJuego; juego.Checkpoint = 3; originator.Estado = juego; caretaker.AddMemento(originator.Guardar()); //Estado posición 0 juego = new Juego(); juego.Nombre = nombreJuego; juego.Checkpoint = 4; originator.Estado = juego; caretaker.AddMemento(originator.Guardar()); //Estado posición 1 juego = new Juego(); juego.Nombre = nombreJuego; juego.Checkpoint = 5; originator.Estado = juego; originator.Restaurar(caretaker.GetMemento(0)); juego = originator.Estado; Console.WriteLine(juego.Estado()); Console.ReadKey(); }
static void Main(string[] args) { Caretaker caretaker = new Caretaker(); Originator originator = new Originator(new Laptop("Acer Nitro 5", 15.6, "Intel Core i5")); Console.WriteLine(originator); caretaker.AddMemento(originator.Save()); originator.SetLaptop(new Laptop("Apple MacBook 2020", 17, "Apple M1")); Console.WriteLine(originator); caretaker.AddMemento(originator.Save()); originator.Restore(caretaker.GetMemento(0)); Console.WriteLine(originator); }
public static void Run() { Originator originator = new Originator(); originator.ledTV = new LEDTV("42 inch", "60000Rs", false); Caretaker caretaker = new Caretaker(); caretaker.AddMemento(originator.CreateMemento()); originator.ledTV = new LEDTV("46 inch", "80000Rs", true); caretaker.AddMemento(originator.CreateMemento()); originator.ledTV = new LEDTV("50 inch", "100000Rs", true); Console.WriteLine("\nOrignator current state : " + originator.GetDetails()); Console.WriteLine("\nOriginator restoring to 42 inch LED TV"); originator.ledTV = caretaker.GetMemento(0).ledTV; Console.WriteLine("\nOrignator current state : " + originator.GetDetails()); Console.ReadKey(); }
public static void Main(string[] args) { Caretaker careTaker = new Caretaker(); Originator originator = new Originator(); originator.State = "State1"; careTaker.AddMemento(originator.SaveToMemento()); originator.State = "State2"; careTaker.AddMemento(originator.SaveToMemento()); originator.State = "State3"; careTaker.AddMemento(originator.SaveToMemento()); originator.State = "State4"; careTaker.AddMemento(originator.SaveToMemento()); originator.RestoreFromMemento(careTaker.GetMemento(2)); Console.ReadLine(); }