18 設計模式 行為型 之備忘錄模式

2021-08-28 14:26:44 字數 1620 閱讀 2300

作用

何時使用

優點給使用者提供了一種可以恢復狀態的機制,可以使使用者能夠比較方便地回到某個歷史的狀態

實現了資訊的封裝,使得使用者不需要關心狀態的儲存細節。

例項

/**

* @author: create_by: chenxin

* @data:created in 2018/9/26 13:28

* @version:

* @acton: 備忘錄類

*/public class empmemento

public void setename(string ename)

public int getage()

public void setage(int age)

public double getsalary()

public void setsalary(double salary)

public empmemento(emp e)

}

/**

* @author: create_by: chenxin

* @data:created in 2018/9/26 13:26

* @version:

* @acton: 源髮器類

*/public class emp

//進行資料恢復,恢復成指定備忘錄物件的值

public void recovery(empmemento empmemento)

public string getename()

public void setename(string ename)

public int getage()

public void setage(int age)

public double getsalary()

public void setsalary(double salary)

public emp(string ename, int age, double salary)

}

/**

* @author: create_by: chenxin

* @data:created in 2018/9/26 13:33

* @version:

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

*/public class caretaker

public void setempmemento(empmemento empmemento)

}

/**

* @author: create_by: chenxin

* @data:created in 2018/9/26 13:34

* @version:

* @acton:

*/public class testmementodemo

public static void test1()

}

關係結構圖

行為型設計模式 備忘錄模式

在我們平時的開發工作中,很多場景需要我們備份和恢復,比如資料庫binlog日誌備份 mvcc多版本併發控制 瀏覽器的回退 chrome奔潰後重新開啟恢復之前的頁面。在gof 設計模式 定義如下 captures and externalizes an object s internal state ...

備忘錄模式 行為型

3 相關模式 1 備忘錄模式和命令模式 這兩個模式可以組合使用。命令模式實現中,在實現命令的撤銷和重做的時候,可以使用備忘錄模式,在命令操作的時候記錄下操作前後的狀態,然後在命令撇銷和重做的時候,直接使用相應的備忘錄物件來恢復狀態就可以了在這種撤銷的執行順序和重做的執行順序可控的情況下,備忘錄物件還...

備忘錄模式 行為型

3 相關模式 1 備忘錄模式和命令模式 這兩個模式可以組合使用。命令模式實現中,在實現命令的撤銷和重做的時候,可以使用備忘錄模式,在命令操作的時候記錄下操作前後的狀態,然後在命令撇銷和重做的時候,直接使用相應的備忘錄物件來恢復狀態就可以了在這種撤銷的執行順序和重做的執行順序可控的情況下,備忘錄物件還...