天天看點

設計模式利劍18--備忘錄模式

定      義:在不破壞封裝性的前提下,捕獲一個對象的内部狀态,并在該對象之外儲存這個狀态,這樣以後就可以将該對象恢複到原先儲存的

               狀态

應用場景:

             1、需要儲存和恢複資料的相關狀态場景

             2、提供一個可復原的操作

             3、需要監控的副本場景中

             4、資料庫連接配接的事務管理就是用的備忘錄模式

應用案例:

            先來看看備忘錄模式的類圖結構:

       解釋如下:

          Originator發起人角色:記錄目前時刻的内部狀态,負責定義那些屬于備份範圍的狀态,負責建立和恢複備忘錄資料

          Memento備忘錄角色:負責存儲Originator發起人對象的内部狀态,在需要的時候提供發起人需要的内部狀态

          Caretaker備忘錄管理者角色:對備忘錄進行管理、儲存和提供備忘錄