Mid GoF Patterns

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;

More from Design Patterns in C#

All questions for this course