« Patrons de conception/Itérateur » : différence entre les versions

Contenu supprimé Contenu ajouté
imported>Jaxom
Aucun résumé des modifications
Ligne 5 :
==Description==
 
Un itérateur ressemble à un [[pointeur]] disposant essentiellement de deux primitives: ''accéder'' à l'élément pointé en cours (dans le conteneur), et ''se déplacer'' pour pointer vers l'élément suivant. En sus, il faut pouvoir créer un itérateur pointant sur le premier élément; ainsi que déterminer à tout moment si l'itérateur a épuisé la totalité des éléments du conteneur. Diverses implantationsimplémentations peuvent également offrir des comportements supplémentaires.
 
Le but d'un itérateur est de permettre à son utilisateur de ''parcourir'' le conteneur, c'est-à-dire d'accéder séquentiellement à tous ses éléments pour leur appliquer un traitement, tout en isolant l'utilisateur de la structure interne du conteneur, potentiellement complexe. Ainsi, le conteneur peut stocker les éléments de la façon qu'il veut, tout en permettant à l'utilisateur de le traiter comme une simple liste. Le plus souvent l'itérateur est conçu en même temps que la classe-conteneur qu'il devra parcourir, et ce sera le conteneur lui-même qui créera et distribuera les itérateurs pour accéder à ses éléments.