Iterator

Propósito

Según el libro "Patrones de Diseño" [29] el patrón Iterator "proporciona un modo de acceder secuencialmente a los elementos de un objeto agregado sin exponer su representación interna".

También conocido como

Cursor

Estructura

Participantes

  • Iterador:

    • define una interfaz para recorrer los elementos y acceder a ellos.

  • IteradorConcreto:

    • implementa la interfaz Iterador.

    • mantiene la posición actual en el recorrido del agregado.

  • Agregado:

    • define una interfaz para crear una variable Iterador.

  • AgregadoConcreto:

    • implementa la interfaz de creación de Iterador para devolver una variable del IteradorConcreto apropiado.

Implementación

  • No se observan impedimentos y/o modificaciones de la estructura original del patrón para su implementación en Go.

  • El Iterador y Agregado se definen como interfaces por simplificación.

Código de ejemplo

En este ejemplo queremos recorrer las distintas estaciones de radio preseteadas de un estéreo de audio.

Implementación:

Se puede probar la implementación del patrón de la siguiente forma:

Código de ejemplo | Ejecutar código

Atención: Esta publicación se encuentra abandonada. Puede acceder a la versión vigente en https://leanpub.com/designpatternsingo

Última actualización

¿Te fue útil?