源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c# 备忘录模式

  • 时间:2020-09-12 15:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c# 备忘录模式
结构图: [img]http://files.jb51.net/file_images/article/201210/20121029140216293.png[/img] Memento类:保存状态的容器
[u]复制代码[/u] 代码如下:
    class Memento     {         public string State { get; set; }         public Memento(string state)         {             this.State = state;         }     }
Caretaker是保存Memento类:
[u]复制代码[/u] 代码如下:
    class Caretaker     {         public Memento Memento { get; set; }     }
Originator类就是需要保存状态的类:
[u]复制代码[/u] 代码如下:
    class Originator     {         public string State { get; set; }         public Memento CreateMemento()         {             return (new Memento(State));         }         public void SetMemento(Memento memento)         {             State = memento.State;         }         public void Show()         {             Console.WriteLine("State:" + State);         }     }
 主函数调用:
[u]复制代码[/u] 代码如下:
    class Program     {         static void Main(string[] args)         {             Originator o = new Originator();             o.State = "On";             o.Show();             Caretaker c = new Caretaker();             c.Memento = o.CreateMemento();             o.State = "off";             o.Show();             o.SetMemento(c.Memento);             o.Show();             Console.ReadKey();         }     }    
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部