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

UMLIteratorPattern

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.

Escrito el 05/12/2018