What
備忘錄模式(Memento Pattern)保存一個對象的某個狀態,以便在適當的時候恢復對象。
在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。
Why
所謂備忘錄模式就是在不破壞封裝的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態,這樣可以在以後將對象恢復到原先保存的狀態。
- 給用戶提供了一種可以恢復狀態的機制,可以使用戶能夠比較方便地回到某個歷史的狀態。
- 實現了信息的封裝,使得用戶不需要關心狀態的保存細節。
實現如撤回的功能。還有實現遊戲的存檔功能也可以使用這種方法
How
通過一個備忘錄類專門存儲對象狀態。
客戶不與備忘錄類耦合,與備忘錄管理類耦合。
爲了符合迪米特原則,還要增加一個管理備忘錄的類。而爲了節約內存,可使用原型模式+備忘錄模式。
通過備忘錄類來爲對象保存或加載數據。