Patron iterateur, tutorial patron 4

Soyez le premier à donner votre avis sur cette source.

Vue 13 732 fois - Téléchargée 629 fois

Description

Définition: Patron ou Pattern
Un patron est une structure de programmation en orienté objet pour faire un option spécifique dans n'importe quel programme. C'est comme un algorithme de trie. Les algo sont déjà créé et ils sont fonctionnel dans n'importe quel programme. La différence, c'est qu'un patron de conception, c'est une option spécifique a un problème récurent. Il faut avoir un très bonne connaissance en orienté objet et le UML est très vite nécessaire dans les patrons d'un certain niveau. C'est pour ça que les tutoriaux sont classé d'intermédiaire à avancer, sauf le Singleton et Itérateur qui sont les plus faciles à utiliser. Les patrons aident à la maintenance, a facilité la visualisation du code, a unifier la programation, a simplifier certain algo, rendre un code réutilisable entre diver projet et apporte des solutions logique et optimisé.

Définition: Itérateur ou Itérator
Un Itérateur est une liste chainé. Avant que la liste chainé aille un nom, c'était un itérator. Mais le besoin d'un itérateur est tellement fréquent, qu'on a fini par lui donner un nom précie. Par contre, une liste chainé est une version simplifié de l'Itérateur. À partir d,un tableau, on a presque toujours une méthode qui convertie en Itérateur, voilà le côté intéressant. J'ai eu de la misère a trouver le patron en vb.net, puisque dans les autres language (C et Java), il appel ça Itérator, en VB.net c'est IEnumerator ou IDictionaryEnumerator. Si vous prennez un HashTable ou un ArrayList, vous allez voir dans les options GetEnumerator. Voilà la clé du patron. Ça convertie toute la liste en un Itérateur. Ensuite, vous allez avoir les options de la liste chainé qui est Current(), MoveNext() et reset()

Ressemblance: Itérateur
Ceux qui utilise des reccordsets sont habituer de faire cette genre de boucle

while rst.read
end while

Bien ça a été copié du patron Itérateur

while iterator.moveNext
end while

Définition: moveNext
Permet d'aller chercher l'item suivant dans la liste et en plus, ça retourne un boolean qui permet de savoir s'il reste des items. Utilie pour faire un while

Définition: Current
Recevoir l'item en cour

Définition: Reset
Remise à 0 de l'Itérateur

Source / Exemple :


'Création d'une liste de valeur
    'Visibilité des controls, on doit pas voir la vue en entier
    'seulement les données voulu, question sécurité
    'On verra ça pas mal plus tard, dans les patron de GRASP 
    Private Function Liste() As ArrayList
        'Création de la liste
        Liste = New ArrayList
        'Création de l'Itérateur
        Dim numero As IEnumerator = observer.GetEnumerator()
        'On parcour l'Itérateur pour demander à la vue sa valeur
        While numero.MoveNext
            Liste.Add(CType(numero.Current, DeVue).getValeur)
        End While
        'On retourne le tableau de valeur créé
    End Function

Conclusion :


Dans ce Zip j'ai fait le grand classic
Les Dés
j'ai mélanger tout les autres patron qu'on a déjà vu: MVC et Observeur, mais pas Singleton, je vais l'ajouter au file du temps dans les exemples

On peut tout faire avec cette source: le nombre de dés voulus (1 à 500), les brasser, connaitre le dés le plus fréquent, avoir des dés avec un certain nombre de face (1 à 30) et même avoir des lettres au lieu des chiffres. Donc c'est très réutilisable comme code et ça respecte le MVC et Observer à la perfection.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
merci beaucoup,
je suis 100% d'accord avec toi que les patron GOF ou GRASP ou même els Anti-Patron sont la base de l'architecture. Mais pour un seul merci, tu en a 10 qui chiales, ça m'a fini par être trop fatigant. J'étais dans les premiers francophones à convertir les patron GOF en VB.Net. Mais maintenant, d'autres ont pris la relève sur d'autre site.
Messages postés
31
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
16 mars 2009

Salt dragon j'ai lu tout tes tutos sur les patrons, ils sont très intéressants touefois je pense que tu ne considères pas l'importance qu'ils ont pour ingénieur en devenir qui s'autoforme pour la plupart... La je ne suis qu'en bts info tes tuto sont clairs et aplicables à mon niveau chose impensable sans ton aide.
Merci donc on a besoin de sources comme ça !
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
merci
ça fais toujours plaisir ce genre de commentaire
domage que j'ai arrêté, puisque le monde préfère chialer que d'apprécier le travail effectué
Messages postés
3
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
2 décembre 2009

Excellent, merci pour mettre a disposition tes competences
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
itérateur et le plus facile de tout les patrons
on s'en reparlera du patron chain of responsability :-P
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.