« 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]]
|