Patrón Iterator
Lectura de ~3 minutos
Provee de un modo de acceder a los elementos de un objeto secuencial agregado sin exponer su representación subyacente.
Aplicabilidad
-
Accede a los contenidos de un objeto agregados sin exponer su representación interna.
-
Soporta varios recorridos de objetos agregados.
-
Provee de una interfaz uniforma para recorrer estructuras agregadas diferentes.
Estructura
Se defune una clase agregada abstracta que delega la implementación de CreateIterator
a las clases hijas- A su vez se define una interfaz de iterador para unificar todas las iteraciones, de modo que cada clase hija de la clase agregada instancia el iterador correspondiente.
Consecuencias
-
Soporta varios modos de recorrer un objeto agregado. Puede venir bien en casos de objetos agregados complejos.
-
Los iteradores simplifican la interfaz de la clase agregada.
-
Se puede definir y tener pendientes más de un iterador de un objeto agregado.
Como de costumbre aquí puedes encontrar un ejemplo en Net Core.
Nos vemos en las próximas líneas.