Iterator

Architecture 🟢 Junior

Definition

Fournit un moyen de parcourir sequentiellement les elements d'une collection sans exposer sa structure interne.

Analogie

Une playlist musicale : tu appuies sur 'suivant' sans savoir si c'est un tableau, un arbre ou une API.

Exemple de code

class Range {
  constructor(start, end) { this.s = start; this.e = end; }
  *[Symbol.iterator]() {
    for (let i = this.s; i <= this.e; i++) yield i;
  }
}

Cas d'usage

Parcourir des structures de donnees complexes (arbres, graphes) avec une interface uniforme.

Anti-pattern

Exposer la structure interne de la collection au code client.
#architecture#interview#gof#behavioral