設計模式 備忘錄模式(Memento)

2022-05-01 11:03:09 字數 1572 閱讀 7598

備忘錄模式是行為模式之一,他的作用是備份物件內部資訊,並在需要的時候恢復以前物件的資訊。

角色和職責:

1.原生者(originator)-person:

原物件

2.備忘錄(memento)-memento:

該物件由originator建立,主要用來儲存originator的內部資訊

3.管理者(caretaker):

負責在適當的時候,儲存恢復originator物件的資訊

uml圖:

具體原始碼:

/**

* 原生類 */

public

class

person

public

string getname()

public

void

setname(string name)

public

intgetage()

public

void setage(int

age)

//建立乙個備份

public

memento creatememento()

//回滾備份

public

void

callback(memento memento)

@override

public

string tostring() ';}}

/**

* 備份類 */

public

class

memento

public

string getname()

public

void

setname(string name)

public

intgetage()

public

void setage(int

age)

}

/**

* 管理者-管理備份檔案 */

public

class

caretaker

public

memento getmemento()

public

void

setmemento(memento memento)

}

public

class

main

}

結果:person

person

person

應用場景:

乙個類需要做備份時,做回滾時。

設計模式 備忘錄模式

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

設計模式 備忘錄模式

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

設計模式 備忘錄模式

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