Introduccion:
Proporciona un modo de acceder secuencialmente a los elementos de un objeto agregado sin exponer su representacion interna.
Nombre del Patron:
Iterator (Iterador, Cursor).
Clasificacion del Patron:
Patron de Comportamiento.
Intencion:
proporcionar una forma coherente de acceder secuencialmente a los elementos de una coleccion, independientemente del tipo de coleccion subyacente.
Motivacion:
Un objeto agregado, tal como una lista, debería proveer un modo de brindar acceso a sus elementos sin exponer su estructura interna. Más aún, quizás se desea recorrer la lista en diferentes formas, dependiendo de lo que Ud. quiera realizar. Pero, probablemente, la idea no es aumentar la interfaz de la lista con operaciones para recorridos diferentes, aún anticipando los que se necesitarán. Tal vez, también se necesite tener más de un recorrido en la misma lista.
El patrón Iterator permite llenar todas estas espectativas. La idea principal en este patrón es tomar la responsabilidad del acceso y recorrido de la lista y colocarla dentro del objeto iterator. La clase Iterator define una interfaz para el acceso de los elementos de la lista. Un objeto iterador es responsable de mantener la pista del elemento actual; esto es, sabe cuáles elementos ya han sido recorridos.
Estructura:
Participantes:
Iterador: Define una interfaz para recorrer los agregados.
IteradorConcreto: implementa la interfaz iterador.
Agregado: Define la interfaz para crear un objeto iterador.
AgregadoConcreto: Implementa la interfaz de creacion de un iterador para devolver un iterador concreto.
Colaboraciones:
Un iteradorConcreto almacena la posicion del objetoactual en el agregado de modo que sabe cual es el objeto siguiente en el recorrido.
Proporciona un modo de acceder secuencialmente a los elementos de un objeto agregado sin exponer su representacion interna.
Nombre del Patron:
Iterator (Iterador, Cursor).
Clasificacion del Patron:
Patron de Comportamiento.
Intencion:
proporcionar una forma coherente de acceder secuencialmente a los elementos de una coleccion, independientemente del tipo de coleccion subyacente.
Motivacion:
Un objeto agregado, tal como una lista, debería proveer un modo de brindar acceso a sus elementos sin exponer su estructura interna. Más aún, quizás se desea recorrer la lista en diferentes formas, dependiendo de lo que Ud. quiera realizar. Pero, probablemente, la idea no es aumentar la interfaz de la lista con operaciones para recorridos diferentes, aún anticipando los que se necesitarán. Tal vez, también se necesite tener más de un recorrido en la misma lista.
El patrón Iterator permite llenar todas estas espectativas. La idea principal en este patrón es tomar la responsabilidad del acceso y recorrido de la lista y colocarla dentro del objeto iterator. La clase Iterator define una interfaz para el acceso de los elementos de la lista. Un objeto iterador es responsable de mantener la pista del elemento actual; esto es, sabe cuáles elementos ya han sido recorridos.
Estructura:
Participantes:
Iterador: Define una interfaz para recorrer los agregados.
IteradorConcreto: implementa la interfaz iterador.
Agregado: Define la interfaz para crear un objeto iterador.
AgregadoConcreto: Implementa la interfaz de creacion de un iterador para devolver un iterador concreto.
Colaboraciones:
Un iteradorConcreto almacena la posicion del objetoactual en el agregado de modo que sabe cual es el objeto siguiente en el recorrido.
No hay comentarios:
Publicar un comentario