Originator:?
Short answer: 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
Example code
{
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;
}
Real-world example (ShopNest)
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png