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

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 2 :
 
En [[Génie logiciel|génie logiciel]], un '''visiteur''' est le nom d'une des structures de [[patron de conception]] [[patron de conception#Comportement|comportemental]].
 
Le ''visiteur'' est une manière de séparer un [[algorithme]] d'une [[structure de données]].
 
 
----
Definition
 
Dans un langage objet, le visiteur permet de separer le traitement des objet auquels il sera appliqué.
 
----
Exemple
 
prenons une classe ObjetPere, de laquelle heriteront Objet1, Objet2 et Objet3, elles possederont la methode accept(Visitor v)
void ObjetDeType1::accept( Visitor * v ) {
v->visitObjetDeType1( this ) ;
}
 
creons la classe Visitor, dont heriteront Visiteur1 et Visiteur2, dans chacun de ces objets, on retrouvera une methode visiterObjet1(Objet1 a), visiterObjet2(Obejt2 b) et visiterObjet3(Objet3 c)
 
void MonVisiteur::visitObjetDeType1( ObjetDeType1 * objet ) {
// Traitement d'un objet de type 1
 
}
 
 
void MonVisiteur::visitObjetDeType2( ObjetDeType2 * objet ) {
// Traitement d'un objet de type 2
 
}
 
 
void MonVisiteur::visitObjetDeType3( ObjetDeType3 * objet ) {
// Traitement d'un objet de type 3
 
}
 
plus d'information :
[http://pcaboche.developpez.com/article/design-patterns/programmation-modulaire/?page=page_5]
 
[[Catégorie:Patron de conception]]