Design patterns
Modèle d'itérateur
Recherche…
Le modèle d'itérateur
Les collections sont l'une des structures de données les plus couramment utilisées en génie logiciel. Une collection n'est qu'un groupe d'objets. Une collection peut être une liste, un tableau, une carte, un arbre ou tout autre objet. Ainsi, une collection devrait fournir un moyen d'accéder à ses éléments sans exposer sa structure interne. Nous devrions pouvoir le parcourir dans le même, quel que soit le type de collection.
L'idée du modèle d'itérateur est de prendre la responsabilité d'accéder à l'objet d'une collection et de le placer dans un objet itérateur. En retour, l'objet itérateur maintiendra l'ordre d'itération, conservera une trace de l'élément en cours et aura un moyen de récupérer l'élément suivant.
Habituellement, la classe de collection comporte deux composants: la classe elle-même et son Iterator
.
public interface Iterator {
public boolean hasNext();
public Object next();
}
public class FruitsList {
public String fruits[] = {"Banana", "Apple", "Pear", "Peach", "Blueberry"};
public Iterator getIterator() {
return new FruitIterator();
}
private class FruitIterator implements Iterator {
int index;
@Override
public boolean hasNext() {
return index < fruits.length;
}
@Override
public Object next() {
if(this.hasNext()) {
return names[index++];
}
return null;
}
}
}