定義:該模式就是乙個物件複製儲存另外乙個物件內部狀態的物件。便於將物件狀態恢復到原先儲存的狀態。
優點:可以避免暴露一些應由源髮器(就是生產原始物件的類)管理卻又必須儲存在源髮器之外的資訊。
缺點:開銷大代價可能高。要儲存的可能資訊多,或者頻繁儲存恢復。
使用時機:當系統必須要儲存乙個物件在某乙個時刻的狀態,以方便需要的時候能恢復到先前的狀態時,就可以使用備忘錄模式。
領導找小鞏建立乙個會議紀要系統,需要儲存相關資訊,需要的時候可以查閱。
首先設計乙個會議紀要類,記錄會議名字,參與人名,內容,用於被儲存或被恢復的物件。
public
class
cahier
public string getname (
)public
void setcontent (string content)
public string getcontent (
)public
void setpersons (string persons)
public string getpersons (
)public memento getmemento()
public
void
setmemento
(memento memento)
}
下面分別實現源髮器和備忘錄
public
class
originator
public
void
setmemento
(memento memento)
private memento memento;
}public
class
memento
public
void setname (string name)
public string getname (
)public
void setcontent (string content)
public string getcontent (
)public
void setpersons (string persons)
public string getpersons (
)}
下面顯示客服端呼叫**,可以看到有恢復undo功能
public
class
client
}
設計模式 備忘錄
設計模式 備忘錄 備忘錄模式很簡單,就是儲存物件,然後支援恢復物件到之前的某個狀態,玩過遊戲的,一定懂得存檔一說,備忘錄就是對物件的存檔與管理。效果 這個需要配合fastcoder使用,請自行到github上去搜尋原始碼fastcoder原始碼 原始碼 model.h 與 model.m memen...
設計模式 備忘錄
設計模式 備忘錄 備忘錄模式很簡單,就是儲存物件,然後支援恢復物件到之前的某個狀態,玩過遊戲的,一定懂得存檔一說,備忘錄就是對物件的存檔與管理。效果 這個需要配合fastcoder使用,請自行到github上去搜尋原始碼fastcoder原始碼 原始碼 model.h 與 model.m model...
備忘錄設計模式
1.備忘錄設計模式 1.1什麼叫備忘錄模式?memento模式也叫備忘錄模式,是行為模式之一,它的作用是在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。並且在需要的時候 undo rollback 恢復物件以前的狀態。備忘錄模式 memento pattern 又叫做快照模...