Este post es el primero de una serie de posts relativos a los patrones de diseño Software. Elijo este patrón por ser uno de los más conocidos, incluso para la gente que desconoce los patrones de diseño o cree no haberlos usado nunca.
Todo el mundo que esté leyendo este post, alguna vez se ha enfrentado al problema de encapsular una estructura de datos, y por tanto, se ha enfrentado a uno de sus principales problemas, ¿cómo dejar usar una estructura de datos (normalmente recorriéndola) sin perder la encapsulación?. El patrón de diseño Iterador trata de responder a este problema (y alguno más de paso).
Anteriormente (me refiero a en lenguaje C), se desarrollaban listas enlazadas definiendo estructuras de datos como la siguiente:
struct LISTA
{
/** Dato del nodo de la lista, en este ejemplo un entero, pero podría ser cualquier otro. */
int dato;
/** Puntero al siguiente elemento de la lista. */
struct LISTA *siguiente;
};

Spanish
English
Comentarios recientes