public static void Main(string[] args) { Caretaker caretaker = new Caretaker(); caretaker.TypeNewLine("My name is "); caretaker.TypeNewLine("Fernando"); caretaker.TypeNewLine("Rodrigues"); caretaker.TypeNewLine("Ferreira"); Console.WriteLine(caretaker.GetText()); Console.WriteLine(); caretaker.Undo(); caretaker.Undo(); caretaker.Undo(); Console.WriteLine(caretaker.GetText()); Console.WriteLine(); caretaker.Undo(); Console.WriteLine(caretaker.GetText()); Console.WriteLine(); Console.ReadKey(); }
static void Main(string[] args) { // Client code. Originator originator = new Originator("Super-duper-super-puper-super."); Caretaker caretaker = new Caretaker(originator); caretaker.Backup(); originator.DoSomething(); caretaker.Backup(); originator.DoSomething(); caretaker.Backup(); originator.DoSomething(); Console.WriteLine(); caretaker.ShowHistory(); Console.WriteLine("\nClient: Now, let's rollback!\n"); caretaker.Undo(); Console.WriteLine("\n\nClient: Once more!\n"); caretaker.Undo(); Console.WriteLine(); }
public static void Execute() { var person = new Person() { Name = "Adam Adamski", BirthDate = new DateTime(1989, 12, 12) }; var caretaker = new Caretaker <Person>(person); Console.WriteLine($"Name: {person.Name}"); caretaker.Save(); person.Name = "Ewa Adamska"; Console.WriteLine($"Name: {person.Name}"); caretaker.Save(); person.Name = "Ewa Ewowska"; Console.WriteLine($"Name: {person.Name}"); while (true) { caretaker.Save(); } caretaker.Undo(); Console.WriteLine($"Name: {person.Name}"); caretaker.Undo(); Console.WriteLine($"Name: {person.Name}"); caretaker.Undo(); Console.WriteLine($"Name: {person.Name}"); }
public static void Mein() { var originator = new Originator("Hello world!"); var caretaker = new Caretaker(originator); caretaker.Backup(); originator.DoSomething(); caretaker.Backup(); originator.DoSomething(); caretaker.Backup(); originator.DoSomething(); Console.WriteLine(); caretaker.ShowHistory(); // Undo the changes. caretaker.Undo(); caretaker.ShowHistory(); caretaker.Undo(); caretaker.Undo(); }