Patrón Iterator — Ejemplo Práctico

PUBLICADO: 2026-08-17
AUTOR: MANUEL PRIETO
Patrones de Diseño

El patrón Iterator recorre una colección sin exponer su estructura interna.

1. El Problema de Partida

getAllMdxFiles(dir) carga en memoria un array con todas las rutas .mdx del árbol de carpetas antes de devolverlo. Para operaciones como scripts/validate-content.js, que solo necesita validar uno a uno y puede detenerse en el primer error, cargar los cientos de archivos por adelantado es innecesario cuando la colección crezca mucho.

2. La Solución Iterator

3. Uso — validación temprana sin cargar todo el árbol

4. Ventajas

  • No carga todo el árbol de antemano: recorre carpeta a carpeta, solo lo necesario hasta encontrar un fallo.
  • Detención temprana barata: validar y abortar en el primer error no exige haber listado los 300 archivos restantes.
  • Misma interfaz que cualquier otro iterador (hasNext()/next()), reutilizable en otros scripts.