Software Design

Memento Pattern: Canvas Undo Checkpoints

UML Class Diagrams · made in Skemio

UML class diagram of Memento pattern showing CanvasEditor originator, CanvasMemento snapshot, and HistoryManager caretaker.
UML class diagram of Memento pattern showing CanvasEditor originator, CanvasMemento snapshot, and HistoryManager caretaker.

What it shows

  • Originator creates snapshot mementos without exposing internal state.
  • Caretaker manages undo stacks without inspecting or modifying snapshots.
  • Trade-off: full state snapshots consume memory; use diffs for large files.

The takeaway

Preserve complete object encapsulation while providing multi-level rollback using Mementos.

More uml class diagrams