memento備忘錄設計模式是乙個儲存另外乙個物件內部狀態拷貝的物件,這樣以後就可以將該物件恢復到以前儲存的狀態。memento備忘錄設計模式的結構如下:
memento備忘錄設計模式有以下3個重要角色:
originator:需要儲存內部狀態的物件。
caretaker:為originator儲存並恢復狀態的物件。
memento:存放originator內部狀態的物件,由originator進行讀寫,並且caretaker進行維護。
memento備忘錄設計模式例子**如下:
// memento
class memento
public string getstate()
}// caretaker
class caretaker
public memento getmemento()
return null;}}
// originator
public class originator
public void setstate()
public string getstate()
public memento creatememento(string state)
public static void main(string args)
}
程式執行結果:
currentoriginator state= state2,restore state= state1
memento備忘錄設計模式常用於文字編輯軟體/ide整合開發環境中的撤銷和恢復操作。
設計模式16 Memento設計模式
memento備忘錄設計模式是乙個儲存另外乙個物件內部狀態拷貝的物件,這樣以後就可以將該物件恢復到以前儲存的狀態。memento備忘錄設計模式的結構如下 memento備忘錄設計模式有以下3個重要角色 originator 需要儲存內部狀態的物件。caretaker 為originator儲存並恢復...
設計模式 備忘錄模式(Memento)
主要目的是儲存乙個物件的某個狀態,以便在適當的時候恢復物件,個人覺得叫備份模式更形象些,通俗的講下 假設有原始類a,a中有各種屬性,a可以決定需要備份的屬性,備忘錄類b是用來儲存a的一些內部狀態,類c呢,就是乙個用來儲存備忘錄的,且只能儲存,不能修改等操作。original類是原始類,裡面有需要儲存...
設計模式(十八) 狀態變化模式 memento
狀態變化模式包括 state和memento 備忘錄 在元件構建過程中,某些物件的狀態經常面臨變化,如何對這些變化進行有效的管理,又同事維持高層模組的穩定?軟體構建過程中,某些物件狀態轉換過程中,如果想回溯到之前的狀態,又不想暴露實現細節。乙個程式有在每個時候擁有的序列號都是不同的,代表他這個時候的...