1. 程式人生 > 實用技巧 >行為型-備忘錄模式(Memento)

行為型-備忘錄模式(Memento)

介紹

備忘錄模式是一種行為設計模式允許在不暴露物件實現細節的情況下儲存和恢復物件之前的狀態

如何解決:通過一個備忘錄類專門儲存物件狀態。

關鍵程式碼:客戶不與備忘錄類耦合,與備忘錄管理類耦合。

備忘錄模式將建立狀態快照(Snapshot的工作委派給實際狀態的擁有者原發器(Originator物件這樣其他物件就不再需要從“外部複製編輯器狀態了編輯器類擁有其狀態的完全訪問權因此可以自行生成快照

模式建議將物件狀態的副本儲存在一個名為備忘錄(Memento的特殊物件中除了建立備忘錄的物件外任何物件都不能訪問備忘錄的內容其他物件必須使用受限介面與備忘錄進行互動它們可以獲取快照的元資料(建立時間和操作名稱等但不能獲取快照中原始物件的狀態

備忘錄模式示例:

驗證輸出:

Current State: State #4
First saved State: State #2
Second saved State: State #3

轉:https://refactoring.guru/

轉:https://www.runoob.com/design-pattern/memento-pattern.html