行為型-備忘錄模式(Memento)
阿新 • • 發佈:2020-11-25
介紹
備忘錄模式是一種行為設計模式,允許在不暴露物件實現細節的情況下儲存和恢復物件之前的狀態。
如何解決:通過一個備忘錄類專門儲存物件狀態。
關鍵程式碼:客戶不與備忘錄類耦合,與備忘錄管理類耦合。
備忘錄模式將建立狀態快照(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