設計模式 備忘錄模式

2022-03-29 07:37:54 字數 1423 閱讀 6666

平時遇到word文件編輯忽然電腦斷電時,當我們再次開啟時,原來的記錄狀態還在。

ps軟體的歷史記錄等,我們可以使用該記錄恢復之前的動作。這些就是備忘錄模式的場景

備忘錄模式就是提供乙個儲存物件狀態的功能,這樣以後就可以將該物件恢復到原來的狀態

結構:源髮器類originator: 負責建立乙個備忘錄memento,用以記錄當前時刻自身的內部狀態,並可使用備忘錄恢復內部狀態。

備忘錄類memento:負責儲存originator物件的內部狀態

負責人類caretake:管理備忘錄類

/**

* 源髮器類

* */

public class emp

//建立備忘錄物件,進行備忘操作

public empmemento empmemento()

//恢復資料

public void recovery(empmemento emp)

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

public double getsalary()

public void setsalary(double salary)

@override

public string tostring() ';}}

/**

* 備忘錄類

*/public class empmemento

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

public double getsalary()

public void setsalary(double salary)

}

/**

* 負責人類

* 管理備忘錄物件

*/public class caretaker

public void setmemento(empmemento memento)

}

這裡如果要記錄儲存多次(多個備忘點),可以將屬性empmemento用容器包裝。

public class client 

}

empemp

empprocess finished with exit code 0

恢復資料成功,即儲存狀態時成功的。

開發中常用:

棋牌類遊戲,悔棋操作

軟體的撤銷步驟

事務管理回滾等

設計模式 備忘錄模式

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

設計模式 備忘錄模式

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

設計模式 備忘錄模式

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