>
<
Patrones de Comportamiento
Iterator
START>
Proposito
1/7
Es un patrón de diseño de comportamiento que te permite recorrer elementos de una colección sin exponer su representación subyacente (lista, pila, árbol, etc.).
Problema
2/7
Esto puede parecer un trabajo sencillo si tienes una colección basada en una lista. En este caso sólo tienes que recorrer en bucle todos sus elementos. Pero, ¿cómo recorres secuencialmente elementos de una estructura compleja de datos, como un árbol?
Solución
3/7
La idea central del patrón Iterator es extraer el comportamiento de recorrido de una colección y colocarlo en un objeto independiente llamado iterador.
El cliente puede continuar ejecutando este método hasta que no devuelva nada, lo que significa que el iterador ha recorrido todos los elementos.
Esto hace que el código cliente sea compatible con cualquier tipo de colección o cualquier algoritmo de recorrido, siempre y cuando exista un iterador adecuado.
Analogía en el mundo real
4/7
Planeas visitar Roma por unos días y ver todas sus atracciones y puntos de interés. Pero, una vez allí, podrías perder mucho tiempo dando vueltas, incapaz de encontrar siquiera el Coliseo.
Todas estas opciones —las direcciones aleatorias en tu cabeza, el navegador del smartphone o el guía humano—, actúan como iteradores sobre la amplia colección de visitas y atracciones de Roma.
Estructura
5/7
- La interfaz Iteradora
- Los Iteradores Concretos
- La interfaz Colección
- Las Colecciones Concretas
- El Cliente
Aplacabilidad
6/7
Utiliza el patrón Iterator cuando tu colección tenga una estructura de datos compleja a nivel interno, pero quieras ocultar su complejidad a los clientes (ya sea por conveniencia o por razones de seguridad).
Utiliza el patrón para reducir la duplicación en el código de recorrido a lo largo de tu aplicación.
Utiliza el patrón Iterator cuando quieras que tu código pueda recorrer distintas estructuras de datos, o cuando los tipos de estas estructuras no se conozcan de antemano.
Cómo implementarlo
7/7
- Declara la interfaz iteradora. Como mínimo, debe tener un método para extraer el siguiente elemento de una colección.
- Declara la interfaz de colección y describe un método para buscar iteradores.
- Implementa clases iteradoras concretas para las colecciones que quieras que sean recorridas por iteradores.
- Implementa la interfaz de colección en tus clases de colección.
- Repasa el código cliente para sustituir todo el código de recorrido de la colección por el uso de iteradores.
Pros y contras
7/7
- Principio de responsabilidad única. Puedes limpiar el código cliente y las colecciones extrayendo algoritmos de recorrido voluminosos y colocándolos en clases independientes.
- Principio de abierto/cerrado. Puedes implementar nuevos tipos de colecciones e iteradores y pasarlos al código existente sin descomponer nada.
- Utilizar un iterador puede ser menos eficiente que recorrer directamente los elementos de algunas colecciones especializadas.
- Aplicar el patrón puede resultar excesivo si tu aplicación funciona únicamente con colecciones sencillas.
Gracias
>
<
Interator
Darling Saúl Chable Chan
Created on September 16, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Dunk the clown quiz
View
Timer Quiz
View
Challenge: World History
View
Math quiz
View
Math quiz mobile
View
Retro Bits Quiz
View
Corporate Icebreaker
Explore all templates
Transcript
>
<
Patrones de Comportamiento
Iterator
START>
Proposito
1/7
Es un patrón de diseño de comportamiento que te permite recorrer elementos de una colección sin exponer su representación subyacente (lista, pila, árbol, etc.).
Problema
2/7
Esto puede parecer un trabajo sencillo si tienes una colección basada en una lista. En este caso sólo tienes que recorrer en bucle todos sus elementos. Pero, ¿cómo recorres secuencialmente elementos de una estructura compleja de datos, como un árbol?
Solución
3/7
La idea central del patrón Iterator es extraer el comportamiento de recorrido de una colección y colocarlo en un objeto independiente llamado iterador.
El cliente puede continuar ejecutando este método hasta que no devuelva nada, lo que significa que el iterador ha recorrido todos los elementos.
Esto hace que el código cliente sea compatible con cualquier tipo de colección o cualquier algoritmo de recorrido, siempre y cuando exista un iterador adecuado.
Analogía en el mundo real
4/7
Planeas visitar Roma por unos días y ver todas sus atracciones y puntos de interés. Pero, una vez allí, podrías perder mucho tiempo dando vueltas, incapaz de encontrar siquiera el Coliseo.
Todas estas opciones —las direcciones aleatorias en tu cabeza, el navegador del smartphone o el guía humano—, actúan como iteradores sobre la amplia colección de visitas y atracciones de Roma.
Estructura
5/7
Aplacabilidad
6/7
Utiliza el patrón Iterator cuando tu colección tenga una estructura de datos compleja a nivel interno, pero quieras ocultar su complejidad a los clientes (ya sea por conveniencia o por razones de seguridad).
Utiliza el patrón para reducir la duplicación en el código de recorrido a lo largo de tu aplicación.
Utiliza el patrón Iterator cuando quieras que tu código pueda recorrer distintas estructuras de datos, o cuando los tipos de estas estructuras no se conozcan de antemano.
Cómo implementarlo
7/7
Pros y contras
7/7
Gracias
>
<