1. 程式人生 > 其它 >第二十二章 備忘錄模式 Memento

第二十二章 備忘錄模式 Memento

行為型設計模式

定義:
  
  又叫快照模式,在不破壞封裝性的前提下,捕獲一個物件的內部狀態,並在該物件之外儲存這個狀態,以便以後當需要時能將該物件恢復到原先儲存的狀態


類圖:
  
  

  備忘錄模式的主要角色如下

  1. 發起人(Originator)角色:記錄當前時刻的內部狀態資訊,提供建立備忘錄和恢復備忘錄資料的功能,實現其他業務功能,它可以訪問備忘錄裡的所有資訊
  2. 備忘錄(Memento)角色:負責儲存發起人的內部狀態,在需要的時候提供這些內部狀態給發起人
  3. 管理者(Caretaker)角色:對備忘錄進行管理,提供儲存與獲取備忘錄的功能,但其不能對備忘錄的內容進行訪問與修改


應用:

  • 儲存一個物件在某一個時刻的全部狀態或部分狀態,這樣以後需要時它能夠恢復到先前的狀態,實現撤銷操作

  • 防止外界物件破壞一個物件歷史狀態的封裝性,避免將物件歷史狀態的實現細節暴露給外界物件