設計模式 備忘錄模式

2021-10-01 12:22:41 字數 878 閱讀 7773

備忘錄模式:在不破壞分裝性的前提下,儲存物件的內部狀態,並且在這個狀態之外儲存這個狀態,這樣可以以後恢復到這個狀態。

備忘錄模式的uml類圖:

memento:備忘錄儲存原發器物件的內部狀態。原發器根據需要決定備忘錄儲存原發器的哪些內部狀態;防止原發器以外的其他物件訪問備忘錄。備忘錄實際上有兩個介面,管理者只能看到備忘錄的窄介面————它只能將備忘錄傳遞給其他物件。相反,原發器能夠看到乙個寬介面,允許它訪問返回到先前狀態所需的所有資料。理想的情況是只允許生成備忘錄的那個原發器訪問本備忘錄的內部狀態;

originator:原發器建立乙個備忘錄,用以記錄當前時刻它的內部狀態;我們使用備忘錄恢復內部狀態;

caretaker:負責儲存好備忘錄;但是,不能對備忘錄的內容進行操作或檢查。

#include

#include

using

namespace std;

class

memo

//儲存狀態};

class

originator

void

show()

void

setstate

(std::string str)

void

recoverstate

(memo * p)};

class

caretaker

memo *

getmemo()

void

setmemo

(memo * p)};

intmain()

設計模式 備忘錄模式

錄入大批人員資料。正在錄入當前人資料時,發現上乙個人的資料錄錯了,此時需要恢復上乙個人的資料,再進行修改。word文件編輯時,突然電腦宕機或者斷電,再開啟時,可以看到word提示你恢復以前的文件。就死儲存某個物件內部狀態的拷貝,這樣以後就可以將該物件恢復到原先的狀態。源髮器類originator 備...

設計模式 備忘錄模式

備忘錄模式 memento pattern 在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。涉及角色 1.original 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻自身的內部狀態,並可使用備忘錄恢復內部狀態。ori...

設計模式 備忘錄模式

備忘錄模式是一種行為模式,該模式業內關於儲存物件當前狀態,並且之後可以再次恢復到此狀態。備忘錄模式實現的方式需要保證被儲存的物件狀態不能被物件從外部訪問,目的是為了保護好被儲存的這些物件狀態的完整性以及內部實現不向外暴露。在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態,這樣...