设计模式:备忘录模式??
生活随笔
收集整理的這篇文章主要介紹了
设计模式:备忘录模式??
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
定? 義:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。
?????? ??? 這樣以后就可以將該對象恢復到原先保存的狀態。
結構圖:
Originator(發起人):負責創建一個備忘錄(Memento),用以記錄當前時刻它的內部狀態,并可以使用備忘錄恢復內部狀態。
Memnto(備忘錄):負責存儲Originator對象的內部狀態,并可防止Originator以外的對象訪問備忘錄Memento。
Caretaker(管理者):負責保存備忘錄(Memento),不能對備忘錄的內容進行操作或檢查。
class Originator{public string State { get; set; }public Memento CreateMemento(){return new Memento(this.State);}public void SetMemento(Memento m){this.State = m.State;}public void Show(){Console.WriteLine("State:" + this.State);}}class Memento{private string state;public Memento(string state){this.state = state;}public string State{get { return state; }}}class CareToker{public Memento memento { get; set; }}View Code
客戶端調用:
Originator originator = new Originator();originator.State = "ON";originator.Show();CareToker careToker = new CareToker();//創建備忘錄保存內部狀態careToker.memento = originator.CreateMemento(); originator.State = "OFF";originator.Show();//使用備忘錄恢復內部狀態 originator.SetMemento(careToker.memento);originator.Show();View Code
結果:
轉載于:https://www.cnblogs.com/qianxingdewoniu/p/3566703.html
總結
以上是生活随笔為你收集整理的设计模式:备忘录模式??的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【T-SQL】基础——表别名
- 下一篇: 晚做了个奇葩的梦,这到底是什么心态?也太