static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.WriteLine("--------------------ObserverPattern--------------------"); Console.WriteLine(); IList <Contact> contacts = new List <Contact> { new Contact { Name = "张三", MobileNumber = "13566778901" }, new Contact { Name = "李四", MobileNumber = "15835368686" }, new Contact { Name = "王五", MobileNumber = "15160266300" } }; var originator = new Originator("Bean", contacts); originator.Show(); Console.WriteLine(); //创建备忘录 var manager = new MementoManager(); var memento = originator.CreateMemento(); manager.ContactMementoList.Add(originator.Name, new List <ContactMemento> { memento }); manager.Show(); Console.WriteLine(); //修改通讯录 Console.WriteLine("----------------移除最后一个联系人---------"); originator.Contacts.RemoveAt(2); originator.Show(); Console.WriteLine(); //回复通讯录 Console.WriteLine("----------------回复通讯录列表-------------"); originator.RestoreMemento(memento); originator.Show(); Console.ReadKey(); }
static void Main(string[] args) { List <MemetoObj> persons = new List <MemetoObj>() { new MemetoObj() { Name = "素还真", MemetoStr = "找大师" }, new MemetoObj() { Name = "一页书", MemetoStr = "笑尽英雄" }, new MemetoObj() { Name = "叶小钗", MemetoStr = "刀狂剑痴" } }; //手机名单发起人 MemetoOriginator mobileOriginator = new MemetoOriginator(persons); mobileOriginator.Show(); // 创建备忘录并保存备忘录对象 MementoManager manager = new MementoManager(); manager.Memento = mobileOriginator.CreateMemento(); // 更改发起人联系人列表 Console.WriteLine("----移除最后一个联系人--------"); mobileOriginator.MemetoList.RemoveAt(2); mobileOriginator.Show(); // 恢复到原始状态 Console.WriteLine("-------恢复联系人列表------"); mobileOriginator.RestoreMemento(manager.Memento); mobileOriginator.Show(); Console.WriteLine("Hello World!"); }