核心
就是儲存某個物件內部狀態的拷貝,這樣以後就可以將該物件恢復到原先的狀態。
結構1、源髮器類:originator。
2、備忘錄類:memento。
3、負責人類:care take。
開發中常見的應用場景
1、棋類遊戲中的,悔棋。
2、普通軟體中的,撤銷操作。
3、資料庫軟體中的,事務管理中的,回滾操作。
4、photoshop軟體中的,歷史記錄。
package gof.memento;
/** * 源髮器類
*/public class emp
//進行資料恢復,恢復成功制定備忘錄物件的值
public void recovery(empmemento mmt)
public emp(string ename, int age, double salary)
public string getename()
public int getage()
public double getsalary()
public void setename(string ename)
public void setage(int age)
public void setsalary(double salary)
}
package gof.memento;
public class empmemento
public string getename()
public int getage()
public double getsalary()
public void setename(string ename)
public void setage(int age)
public void setsalary(double salary)
}
package gof.memento;
/** * 負責人
* 負責管理備忘錄物件
行為型模式 備忘錄模式
備忘錄模式 在不破壞原封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣,以後就可以將該物件恢復到原先儲存的狀態。備忘錄模式角色 發起人 originator 角色 該角色記錄當前時刻的內部狀態,負責定義哪些屬於備份範圍的狀態,負責建立和恢復備忘錄資料 備忘錄 memento ...
備忘錄模式 物件行為型模式
一 意圖 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可以將該物件恢復到原先儲存的狀態。二 適用性 以下情況使用備忘錄模式 三 結構 四 public class callofduty public void quit public memento crea...
行為型模式(6) 備忘錄模式
在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態,以便以後當需要時能將該物件恢復到原先儲存的狀態。該模式又叫快照模式。乙個物件中一般都封裝了很多屬性,這些屬性的值會隨著程式的執行而變化。當我們需要儲存某一時刻物件的某些值的時候,我們就再建立乙個物件,將當前物件中的一些屬性儲...