定 義:在不破壞封裝性的前提下,捕獲一個對象的内部狀态,并在該對象之外儲存這個狀态,這樣以後就可以将該對象恢複到原先儲存的
狀态
應用場景:
1、需要儲存和恢複資料的相關狀态場景
2、提供一個可復原的操作
3、需要監控的副本場景中
4、資料庫連接配接的事務管理就是用的備忘錄模式
應用案例:
先來看看備忘錄模式的類圖結構:
解釋如下:
Originator發起人角色:記錄目前時刻的内部狀态,負責定義那些屬于備份範圍的狀态,負責建立和恢複備忘錄資料
Memento備忘錄角色:負責存儲Originator發起人對象的内部狀态,在需要的時候提供發起人需要的内部狀态
Caretaker備忘錄管理者角色:對備忘錄進行管理、儲存和提供備忘錄