begin process at 2012 02 12 19:11:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > PATRON ITERATEUR, TUTORIAL PATRON 4

PATRON ITERATEUR, TUTORIAL PATRON 4


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Source .NET ( DotNet ) Niveau :Débutant Date de création :19/06/2005 Vu / téléchargé :11 744 / 405

Auteur : dragon

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • '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
    '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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) RADIOBUTTON EN .NET SUR PLUSIEURS CONTENEURS DIFFÉRENTS
SUPPRIMER LES DOUBLONS D'UNE TABLE (VBA ACCESS)
Source avec Zip Source avec une capture Source .NET (Dotnet) [VB.NET] FORM AVEC DES SCROLLBARS AUTOMATIQUE
Source avec Zip Source .NET (Dotnet) PATRON OBSERVER, TUTORIAL PATRON 3
Source avec Zip Source avec une capture Source .NET (Dotnet) PATRON MVC, TUTORIAL PATRON 2

 Sources de la même categorie

Source avec Zip DLL PERSONNALISÉ AVEC ÉVÈNEMENTS ET PROPRIÉTÉS EN VB6. par Number7
Source avec Zip Source .NET (Dotnet) EXEMPLE DU TUTORAIL "CLASSES MÉTIER" par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DES LISTES : RANGEMENT (LIST.SORT) ET FILTRAGE (LIST... par kbalist
Source avec Zip EXEMPLE SUR LES MENUS POUR AIDER LES DÉBUTANTS COMME MOI ;-) par viragoloco
LES OPÉRATIONS DE LA LISTE CHAINÉE par smaili

Commentaires et avis

Commentaire de dragon le 19/06/2005 02:51:11

Si vous avez des questions sur les patrons n'hésiter pas
le prochain patron sera Façade (j'ai déjà ma petite idée sur comment l'intégré)
Je crois que ce que je fais va s'enligner vers un jeu de dés genre poker ou peut-être un jeu de société ou un jeu de carte ou ...

je sais pas trop encore

c'est ce qui est pratique, c,est tellement générale et tellement réutilisable, qu'on peut faire n'importe quoi avec

En fait, ce dilem, c'est l'utilité des patrons dequoi de tellement générique pour des problèmes récurents. c'est la définition et c,est exactement ce qui se passe :-D

Donc vers quel genre de source vous voulez que je me dirige ???
A) Un jeu de poker avec des Dés
B) Un jeu de poker avec des cartes
C) Un jeu de Société (genre Clue)
D) Un jeu genre Boggle

Commentaire de dragon le 29/06/2005 16:15:39

a cause du manque de commentaire, je met les tutoriaux sur les patrons sur pause. J'ai d'autre projet en cours plus important. Dommage, il va surement en avoir un qui va arriver et demander le patron visitor, bridge, builder ou un chain of resposability et le tutorial sera pas fait. Mais bon

Commentaire de TMONOD le 14/10/2006 08:42:10

Bonjour,
Non ton tuto n'est pas inutile. Seulement les patterns sont encore réservés à une 'élite' de developpeurs.
D'autre part, ces concepts sont principalement utilisés dans le milieu 'pro' afin d'optimiser la mise en commun des ressources de code, faciliter l'évolution des logiciels etc...
Ici, le public est plutôt débutant, plutôt étudiant aussi et les patterns ne sont encore enseignés que par une quantité tres réduite de profs d'info.
Alors, je t'en prie, si t'as encore un peu de temps à nous consacrer sur ce sujet, n'hésite pas !!

TM

Commentaire de dragon le 15/10/2006 07:58:06

tiens le premier qui donne des bons commentaires sur les patrons, ça fait du bien .... un an après l'arrêt

Je crois que j'ai le patron decorator de déjà de programmé ... depuis un ans sur mon portable

si j'ai le temps ... un jour, je l'ajouterai. Mais tu as raison, les patron sont réservé à l'élite et oui tu as aussi raison qu'un patron est un concepte qui permet de résoudre un attribut d'un programme: maintenance, vitesse, partage, visibilité, plugin, ...

Commentaire de TMONOD le 15/10/2006 14:22:06

Content que tu sois rassuré...
Mais ca veut dire quoi "résoudre un attribut d'un programme" ?

Commentaire de dragon le 17/10/2006 03:59:48

un attribut de qualité d'un programme
performance
securité
fiabilité
mainternance
stabilité
déploiment
et j'en passe

tu as ou plusieurs patron pour chacuns des attributs

Commentaire de alex321 le 24/11/2006 04:07:51

Bha... En fait je sais pas pourquoi tu as eu de la misère à trouver le patron... Un patron est un patron... Il n'est pas dificile de l'implanter... Tu créer une classe Iterateur dans laquelle tu spécifie les quatres méthodes.... Soit : First, Next, IsDone, CurrentItem. (Java triche puisque Next == next + CurrentItem).


Dernièrement, nous avons du le faire puisque dans le cadre du cours, nous nous sommes abstenus d'utiliser les classes préfaites de Java. Tous les languages peuvent l'implémenter (Orienté Objet bien sûr). Seulement c'est vrai que ce n'est pas nécessairement facile pour quelqu'un qui débute dans la programmation puisqu'il faut une bonne connaissance du UML et une bonne compréhension des concept de programmation afin de comprendre ce qui se passe... Même mon prof de logarithmie qui a travaillé pour la NASA et qui a beaucoup d'expérience ne pourrait s'assoire et créer un patron comme ca dans la brousse... C'est avec le temps (et avec d'autre programmeurs avancés) que nous réalisons que certaines choses sont vraiment récurentes et que nous pouvous y trouver une solution...


Qu'importe... je fais du blabla la... Je retourne en programmation, BA de la journée ;P.

Commentaire de dragon le 24/11/2006 14:29:36

itérateur et le plus facile de tout les patrons
on s'en reparlera du patron chain of responsability :-P

Commentaire de zingaris le 20/11/2008 14:46:25 8/10

Excellent, merci pour mettre a disposition tes competences

Commentaire de dragon le 20/11/2008 14:49:34

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é

Commentaire de fifrelin70 le 30/01/2009 10:36:58

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 !

Commentaire de dragon le 30/01/2009 14:43:59

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.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,761 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales