設計模式:備忘錄模式
什么是備忘錄模式
備忘錄模式(Memento Pattern),在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài),并在該對象之外保存這個狀態(tài),以便以后當需要時能將該對象恢復到原先保存的狀態(tài)。該模式又叫快照模式。
一句話歸納
保存對象的狀態(tài),在需要時進行恢復
代碼
我是一個不抽煙、不喝酒、無不良嗜好的標準的宅男,作為一個標準的宅男,和其他人一樣,放假了就喜歡在家里打游戲,而且還喜歡打“暗黑之魂”這類硬核動作類的游戲,一不小心就被小怪一刀砍死那種……這類游戲也是體諒到大家都是手殘黨,會在很多關鍵的地方設置復活點(存檔點),讓大家可以多被虐幾次……

適用性
以下場景我建議你考慮使用
需要保存與恢復數據的場景,如玩游戲時的復活點
需要提供一個可回滾操作的場景,如Word、記事本等編輯類軟件的回退功能
數據庫的事務就是一個經典的備忘錄模式
備份數據用于分析監(jiān)控,例如數據庫的主從
局限性
以下場景我建議你謹慎使用
消耗資源。如果類的成員變量過多,勢必會占用比較大的資源,而且每一次保存都會消耗一定的內存
寫在最后
好兄弟可以點贊并關注我的公眾號“javaAnswer”,全部都是干貨。

標簽: