Le meilleur didacticiel Mode itératif en 2024, dans ce didacticiel, vous pouvez apprendre introduction,réalisation,
Mode itératif (Iterator Pattern) de l'environnement de programmation Java et .Net est un modèle de conception très commun. Ce mode est utilisé pour les éléments d'accès séquentiels d'une collection d'objets, une collection d'objets n'a pas besoin de connaître la représentation sous-jacente.
motif Iterator appartient modèles comportementaux.
Intention: Fournir un moyen d'accéder à un objet dans chaque élément de la polymérisation, mais pas besoin d'exposer l'intérieur de l'objet.
Principalement pour résoudre: une autre façon de traverser l'objet d'intégration entière.
Quand utiliser: traversant un objet polymère.
Comment fixer: la promenade entre les éléments de la responsabilité de itérateurs au lieu des objets globaux.
Le code clé: définir l'interface: hasNext, à côté.
Exemples d'application: JAVA dans l'itérateur.
Avantages: 1, qui soutient d' une manière différente de traverser un objet global.2, ce qui simplifie la classe polymérisation iterator. 3, de la même polymérisation peut avoir des parcours multiples. 4, dans un mode itératif, ajouter une nouvelle classe de classe itérateur polymère et facile, sans modifier le code original.
Inconvénients: En raison de la séparation des tâches iterator stockage de données de configuration et les données de cheminement, ajouter de nouvelles classes agrégées exigent une augmentation correspondante dans la nouvelle classe iterator, le nombre de classes paires augmente, ce qui augmente la complexité du système dans une certaine mesure.
Scénarios d' utilisation:1, l' accès à un objet contenu polymère sans avoir à exposer sa représentation interne. 2, la nécessité de fournir une variété d'agrégats méthode objet traversal. 3 pour traverser la structure globale différente fournit une interface unifiée.
Remarques: le mode itératif est séparé comportement de la traversée d'une collection d'objets, classe abstraite d' un itérateur d'être responsable, de sorte que les deux peuvent se faire sans exposition à la structure interne de la collection, mais permettent également le code d' accès transparent externe à la collecte de données interne.
Nous allons créer une interface narrativeIteratoret une méthode de navigation Retourne un itérateur de l'interfacede conteneurs.classe entitéContainerimplémente l'interface sera responsable de la mise en œuvre del'interface Iterator.
IteratorPatternDemo,nos classes de démonstration utilisent la classe d'entité pour imprimerNamesRepositoryNamesRepository stockées sous forme de collectionNames.
Créer une interface.
Iterator.java
public interface Iterator { hasNext public boolean (); Public Object next (); }
Container.java
interface publique Container { publique Iterator getIterator (); }
Créer classe d'entitéContainerimplémente l'interface. Cette classe a réalisé l'interfaceNameIteratorIterator de classe interne.
NameRepository.java
NameRepository public class implémente Container { Les noms de chaînes publiques [] = { "Robert", "John", "Julie", "Lora"}; @Override publique Iterator getIterator () { return new NameIterator (); } NameIterator private class implémente Iterator { index int; @Override hasNext public boolean () { if (index <names.length) { return true; } return false; } @Override Public Object next () { if (this.hasNext ()) { retour noms [index ++]; } return null; } } }
UtilisezNameRepositorypour obtenir itérateurs, et imprimer les noms.
IteratorPatternDemo.java
public class IteratorPatternDemo { main (String [] args) {public static void NameRepository namesRepository = new NameRepository (); pour (Iterator iter = namesRepository.getIterator (); iter.hasNext ();) { String name = (String) iter.next (); System.out.println ( "Nom:" + nom); } } }
Vérifiez la sortie.
Nom: Robert Nom: John Nom: Julie Nom: Lora