static void Main(string[] args) { //创建一个角色 GameRole xiaoming = new GameRole("小明", 100, 50, 1000, 300, 345); xiaoming.DisplayInfo(); //一个存储进度的类 CareTaker taker = new CareTaker(); //把信息存档 taker[0] = xiaoming.Archive(); Console.WriteLine(xiaoming.Fight() ? "大战boss赢了" : "大战boss输掉了"); //大战boss之后的信息 xiaoming.DisplayInfo(); //读取存档 xiaoming.Read(taker[0]); //显示读取之后的信息 xiaoming.DisplayInfo(); Console.Read(); }
public static void GetMemento() { var org = new Originator { Id = 100, Name = "Manjuanth", Salary = 1234.34 }; Console.WriteLine("Original Values : Id {0} - Name {1} - Age {2}", org.Id, org.Name, org.Salary); Console.WriteLine(""); var taker = new CareTaker { EmpInfo = org.SaveState() }; org.Id = 101; org.Name = "Askahy"; org.Salary = 4567.56; Console.WriteLine("Updated Values : Id {0} - Name {1} - Age {2}", org.Id, org.Name, org.Salary); Console.WriteLine(""); org.RestoreState(taker.EmpInfo); Console.WriteLine("Restored Values : Id {0} - Name {1} - Age {2}", org.Id, org.Name, org.Salary); Console.WriteLine(""); }
static void Main(string[] args) { Originator originator = new Originator(); CareTaker careTaker = new CareTaker(); originator.State = "state 加载"; careTaker.List.Add(originator.Save()); originator.State = "state 初始化"; careTaker.List.Add(originator.Save()); originator.State = "state 就绪"; careTaker.List.Add(originator.Save()); originator.State = "state 运行"; careTaker.List.Add(originator.Save()); originator.State = "state 结束"; careTaker.List.Add(originator.Save()); Console.WriteLine("Current State:" + originator.State); originator.LoadSave(careTaker.List[0]); Console.WriteLine("Current State:" + originator.State); originator.LoadSave(careTaker.List[1]); Console.WriteLine("Current State:" + originator.State); originator.LoadSave(careTaker.List[2]); Console.WriteLine("Current State:" + originator.State); originator.LoadSave(careTaker.List[3]); Console.WriteLine("Current State:" + originator.State); originator.LoadSave(careTaker.List[4]); Console.WriteLine("Current State:" + originator.State); }
static void Main(string[] args) { Book book = new Book { Isbn = "12345", Title = "Sefiller", Author = "Victor Hugo" }; book.ShowBook(); CareTaker history = new CareTaker(); history.memento = book.CreateUndo(); book.Isbn = "54321"; book.Title = "TITLE"; book.ShowBook(); book.RestoreFromUndo(history.memento); book.ShowBook(); Console.ReadLine(); }
public Program() { myStore = new CareTaker(); originator = new Originator(); Console.WriteLine("Storing Memento"); originator.Set("My Initial State which will be stored"); myStore.ADD(originator.Store()); itemNumber++; originator.Set("My Changed State which will not be stored and will be restored"); Console.WriteLine("Restored : " + originator.Restore(myStore.GetMemento(itemNumber - 1))); Console.ReadLine(); }
public Form1() { InitializeComponent(); originator = new Originator(); careTaker = new CareTaker(); btnRedo.Click += BtnRedo_Click; btnSave.Click += BtnSave_Click; btnUndo.Click += BtnUndo_Click; btnUndo.Enabled = false; }
static void Main(string[] args) { Originator originator = new Originator(); CareTaker careTaker = new CareTaker(); originator.SetState("State #1"); originator.SetState("State #2"); careTaker.Add(originator.SaveStateToMemento()); originator.SetState("State #3"); careTaker.Add(originator.SaveStateToMemento()); originator.SetState("State #4"); Console.WriteLine("Current State: " + originator.GetState()); originator.GetStateFromMemento(careTaker.Get(0)); Console.WriteLine("First saved State: " + originator.GetState()); originator.GetStateFromMemento(careTaker.Get(1)); Console.WriteLine("Second saved State: " + originator.GetState()); }
public static void Main(string[] args) { Originator originator = new Originator(); CareTaker caretaker = new CareTaker(); originator.setState("State #1"); originator.setState("State #2"); caretaker.Add(originator.saveStateToMemento()); originator.setState("State #3"); caretaker.Add(originator.saveStateToMemento()); originator.setState("State #4"); Console.WriteLine(String.Format("Current state: {0}", originator.getState())); originator.getStateFromMemento(caretaker.Get(0)); Console.WriteLine(String.Format("First saved state: {0}", originator.getState())); originator.getStateFromMemento(caretaker.Get(1)); Console.WriteLine(String.Format("Second saved state: {0}", originator.getState())); Console.ReadLine(); }
static void Main(string[] args) { Invoice invoice = new Invoice( id: Guid.NewGuid(), customerDocument: "000.000.000-00", customerName: "Lucas G.", amountToPay: new Random().Next(100, 1500)); Console.WriteLine("1 - State"); Console.WriteLine("Id: {0}", invoice.Id.ToString()); Console.WriteLine("Document: {0}", invoice.CustomerDocument); Console.WriteLine("Name: {0}", invoice.CustomerName); Console.WriteLine("Amount to pay: R$ {0:0.00}", invoice.AmountToPay); CareTaker caretaker = new CareTaker(); caretaker.InvoiceMemento = invoice.SaveMemento(); invoice.CustomerName = "Lucas E."; invoice.AmountToPay = new Random().Next(100, 1500); Console.WriteLine("\n\n2 - State"); Console.WriteLine("Id: {0}", invoice.Id.ToString()); Console.WriteLine("Document: {0}", invoice.CustomerDocument); Console.WriteLine("Name: {0}", invoice.CustomerName); Console.WriteLine("Amount to pay: R$ {0:0.00}", invoice.AmountToPay); invoice.RestoreMemento(caretaker.InvoiceMemento); Console.WriteLine("\n\n3 - State"); Console.WriteLine("Id: {0}", invoice.Id.ToString()); Console.WriteLine("Document: {0}", invoice.CustomerDocument); Console.WriteLine("Name: {0}", invoice.CustomerName); Console.WriteLine("Amount to pay: R$ {0:0.00}", invoice.AmountToPay); Console.ReadKey(); }
static void Main(string[] args) { ////Struture for memento pattern //Originator origiator = new Originator(); //origiator.State = "ON"; //CareTaker careTaker = new CareTaker(); //careTaker.Memento = origiator.CreateMemento(); //origiator.State = "OFF"; //origiator.SetMemento(careTaker.Memento); List <ContactPerson> contactPersons = new List <ContactPerson>() { new ContactPerson() { Name = "Learning Hard", MobileNum = "123445" }, new ContactPerson() { Name = "Tony", MobileNum = "234565" }, new ContactPerson() { Name = "Jock", MobileNum = "231455" } }; MobileOwner owner = new MobileOwner(contactPersons); owner.ShowContacts(); CareTaker careTaker = new CareTaker(); careTaker.ContactMementos.Add(DateTime.Now.ToString(), owner.CreateMemento()); //Remove some contacts; owner.ContactPersons.RemoveAt(2); owner.ShowContacts(); Thread.Sleep(1000); careTaker.ContactMementos.Add(DateTime.Now.ToString(), owner.CreateMemento()); Console.WriteLine("Restore Date Index:"); var keyCollections = careTaker.ContactMementos.Keys; foreach (var key in keyCollections) { Console.WriteLine(key); } while (true) { int index = -1; try { index = Int32.Parse(Console.ReadLine()); } catch { Console.WriteLine("The format is wrong"); continue; } ContactMemento contactMentor = null; if (index < keyCollections.Count && careTaker.ContactMementos.TryGetValue(keyCollections.ElementAt(index), out contactMentor)) { owner.RestoreMemento(contactMentor); owner.ShowContacts(); } else { Console.WriteLine(""); } } Console.Read(); }