Iterator es un patrón de diseño de comportamiento que permite el recorrido secuencial por una estructura de datos compleja sin exponer sus detalles internos.
Gracias al patrón Iterator, los clientes pueden recorrer elementos de colecciones diferentes de un modo similar, utilizando una única interfaz iteradora.
Ejemplos de uso: El patrón es muy común en el código C++. Muchos frameworks y bibliotecas lo utilizan para proporcionar una forma estandarizada de recorrer sus colecciones.
Identificación: El patrón Iterator es fácil de reconocer por sus métodos de navegación (como next, previous y otros). El código cliente que utiliza iteradores puede no tener acceso directo a la colección recorrida.
Ejemplo conceptual
Este ejemplo ilustra la estructura del patrón de diseño Iterator. Se centra en responder las siguientes preguntas:
¿De qué clases se compone?
¿Qué papeles juegan esas clases?
¿De qué forma se relacionan los elementos del patrón?