Patron de méthode

( Template Method )

separator line

package précédent white background package suivant

Rational Rose picture

Description


Lorsqu'un algorithme possède des étapes variables suivant le contexte, ce patron propose de déléguer à des sous-classes la réalisation concrète de ces étapes.


Structure et constituants


Design Patterns picture

  • Protocol définit l'interface de l'algorithme et appelle des méthodes pour la réalisation de certaines étapes variables,
  • Protocol1 et Protocol2 implantent les étapes manquantes dans l'algorithme,
  • ProtocolClient lance l'exécution de l'algorithme.

Collaborations


Le client lance l'algorithme dont la partie invariante est exécutée directement alors que les étapes variables sont réalisées de manière spécifique par les opérations définies dans une classe concrète.

Design Patterns picture


Forces et faiblesses


Design Patterns picture    permet d'implanter une fois pour toutes la structure d'un algorithme et des parties invariables qui seront partagées,

Design Patterns picture    permet de personnaliser certaines parties d'un algorithme dans des sous-classes,

Design Patterns picture    les étapes déléguées aux sous-classes doivent être choisies avec soin pour être vraiment utiles,

Design Patterns picture    problème de vérification des hypothèses faites par la classe mère qui peuvent être violées par l'implantation dans une sous-classe.


Utilisation dans CBR*Tools


Ce patron est utilisé dans les phases de raisonnement et dans le protocole d'indexation, pour offrir des algorithmes et des protocoles ouverts.

Separator line


Valid XHTML 1.0!

Valid CSS!

Comments

Last modified: Wed Aug 1 16:21:52 MEST 2001