設計模式之備忘錄模式memento

2021-08-27 23:17:36 字數 1166 閱讀 8221

備忘錄模式

就是儲存某個物件內部狀態的拷貝,這樣以後就可以將物件恢復到原先的狀態

結構

或者直接描述為 **

/**

* 源髮器類

*/public class employeeoriginal

//進行備忘操作,並返回備忘物件

public employeememento memento()

//進行資料恢復,恢復到指定的備忘錄狀態

public void recovery(employeememento memento)

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 employeememento

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

public double getsalary()

public void setsalary(double salary)

}/**

* created by jenny on 5/16/16.

* 負責人類:管理備忘錄物件

*/public class caretake

public void setmemento(employeememento memento)

}

public class client 

}

備忘錄模式的優點有:

備忘錄模式的缺點:

如果有需要提供回滾操作的需求,使用備忘錄模式非常適合,比如jdbc的事務操作,文字編輯器的ctrl+z恢復等。

設計模式之備忘錄模式

機器 public class machine public void startplay disc.setluminance 60 disc.settime 0 disc.setvolume 80 public void stopplay disc.setluminance 70 disc.set...

設計模式之備忘錄模式

定義 在不破壞封閉的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。備忘錄模式有三個角色 以儲存遊戲進度為例,退出遊戲前存檔,再進入遊戲就會顯示退出之前的狀態。示例 遊戲發起人類 public class game public state cr...

設計模式之 備忘錄模式

定義 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣就可以將該物件 恢復到原先儲存的狀態。很好理解,就像我們以前打通關遊戲一樣,打通某個關卡,就會備份一下,不然根本通不了關。備忘錄 負責儲存發起人物件的內部狀態,在需要的時候提供發起人需要的內部狀態。public c...