簡介

Memento Pattern(備忘錄模式)是一種行為型設計模式,保存物件的狀態,以便日後還原。

問題

當需要保存物件的歷史狀態,並可隨時還原時。

解決方案

將狀態儲存在備忘錄物件,並由管理者負責保存與還原。

C# 範例

public class Memento {
    public string State { get; }
    public Memento(string state) { State = state; }
}
public class Originator {
    public string State { get; set; }
    public Memento Save() => new Memento(State);
    public void Restore(Memento m) { State = m.State; }
}

結論

Memento Pattern 讓狀態保存與還原更簡單。