設計模式之十六 備忘錄模式

2021-10-18 14:40:01 字數 339 閱讀 8192

定義:

在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。

此模式有三個角色(類):發起者,備忘錄,管理者

發起者呼叫管理者儲存自己的狀態到備忘錄,並且交給管理者管理。在需要的時候通過管理者恢復儲存的狀態,達到備忘錄目的

感覺 這個模式沒有什麼特別之處,一下子也沒想到什麼場景會用到。通常在業務中,都會把類似狀態存入快取,然後恢復,並不會設計類似的角色。而資料庫就更簡單,就是用事務,失敗回滾。

注:備忘錄也有好幾種寫法。個人不是太感冒。還是更注重一下思想和理念,優化設計。具體的實現優劣,取決於很多方面。

以上

設計模式之備忘錄模式

機器 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...