Memento

Architecture 🟡 Mid

Définition

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

Analogie

La sauvegarde dans un jeu vidéo : tu captures l'état 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 éditeur, snapshots d'état, point de restauration transactionnel.

Anti-pattern

Stocker trop de mémentos en mémoire sans stratégie de nettoyage.
#architecture#interview#gof#behavioral

En entretien

  1. Explique-moi le pattern Memento.

    Il capture et externalise l'état interne d'un objet sans violer son encapsulation, pour pouvoir le restaurer plus tard. On l'utilise pour l'undo/redo dans un éditeur, des snapshots d'état ou un point de restauration transactionnel.

  2. Quel anti-pattern de mémoire faut-il éviter avec Memento ?

    Stocker trop de mémentos en mémoire sans stratégie de nettoyage, ce qui fait exploser la consommation mémoire au fil du temps. Comme une sauvegarde de jeu vidéo, il faut limiter le nombre de points de restauration conservés.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre