备忘录模式:建立一个对象,保存需要存储的值,在需要复原的时候,赋值过来就可以了。
class Originator
{
public string State { get; set; }
public Memento CreateMemento()
{
return new Memento(State);
}
public void SetMemento(Memento memento)
{
State = memento.State;
}
public void Show()
{
Console.WriteLine($"State = {State}");
}
}
public class Memento
{
private string _state;
public Memento(string state)
{
_state = state;
}
public string State { get => _state; }
}
class Manager
{
public Memento Memento { get; set; }
}
static void Main(string[] args)
{
Originator originator = new Originator();
originator.State = "ON";
originator.Show();
Manager manager = new Manager();
manager.Memento = originator.CreateMemento();
originator.State = "OFF";
originator.Show();
originator.SetMemento(manager.Memento);
originator.Show();
Console.WriteLine("Hello World!");
}