Originator:?
- The TextEditor class represents the originator in the Memento Pattern. It has the
actual state (the text) and provides methods to change the state, save the current
state to a Memento, and restore a previous state from a Memento.
- The Save() method creates a new TextMemento capturing the current state of the
editor.
- The Restore() method restores the editor's state from a given TextMemento.
public class TextEditor
private string _text;
public void Write(string text) => _text = text;
public TextMemento Save() => new TextMemento(_text);
public void Restore(TextMemento memento) => _text =
memento.Text;
public override string ToString() => _text;