Visiteur (patron de conception)

Un article de Wikipédia, l'encyclopédie libre.

En génie logiciel, un visiteur est le nom d'une des structures de patron de conception comportemental.

Le visiteur est une manière de séparer un algorithme d'une structure de données.


[modifier] Exemple

Prenons une classe ObjetPere, de laquelle hériteront Objet1, Objet2 et Objet3, elles posséderont la méthode accept(Visitor v)

void ObjetDeType1::accept( Visitor * v ) {
   v->visitObjetDeType1( this ) ;
 }

Créons la classe Visitor, dont hériteront 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
  }

[modifier] Lien externe