意图:
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象
恢复到原先保存的状态。
结构:
代码:
class Originator{
private string state;
public string State{
get{ return state;}
set{state = value;}
}
public Memento CreateMemento(){ return new Memento(state);}
public void SetMemento(Memento memento){ state = memento.State;}
public void Show(){ Console.WriteLine("State=" + state);}
}
class Memento{
private string state;
public Memento(string state){ this.state = state; }
public string State{ get { return state;