Memento

Architecture 🟡 Mid

Definition

Capture et externalise l'etat interne d'un objet sans violer l'encapsulation, pour pouvoir le restaurer plus tard.

Analogie

La sauvegarde dans un jeu video : tu captures l'etat complet pour pouvoir y revenir si tu meurs.

Exemple de code

class Editor {
  save() { return { content: this.content }; }
  restore(memento) { this.content = memento.content; }
}
const history = [editor.save()];

Cas d'usage

Undo/redo dans un editeur, snapshots d'etat, point de restauration transactionnel.

Anti-pattern

Stocker trop de mementos en memoire sans strategie de nettoyage.
#architecture#interview#gof#behavioral