Fabrication
(
Factory Method
)
Lorsqu'un algorithme a besoin de créer un objet dont
sa classe concrète est variable suivant le contexte, ce
patron propose la délégation à une sous-classe de
l'instanciation de cet objet.
Structure et
constituants
|
- Creator définit une méthode dans laquelle un
objet doit être créé et délègue cette instanciation à
une de ses sous-classes par la définition de méthode
à spécialiser (méthode newProduct),
- Creator1 et Creator2 implantent de manière
concrète l'instanciation de l'objet requis,
- Product définit l'interface abstraite de l'objet
qui est manipulé par Creator,
- Product1 et Product2 implantent les comportements
des objets à utiliser.
- Creator délègue à ses sous-classes
l'instanciation de l'objet requis.
dispense d'avoir à spécifier directement
l'objet à instancier et permet à une sous-classe de
choisir l'objet concret voulu,
dans certains cas, la spécialisation de la
classe mère est effectuée uniquement pour spécifier
l'instanciation (opération plus lourde par exemple que
de passer en paramètre l'objet requis). Il est ainsi
préférable d'utiliser ce patron lorsqu'il faut
également pour d'autres raisons spécialiser la classe
mère.
Utilisation dans
CBR*Tools
|
Ce patron intervient dans différents algorithmes de
CBR*Tools
et notamment dans les protocoles internes des index
pour la création des objets sauvegardant le résultat
d'une recherche (de classe IndexResult) de manière à
instancier les objets adéquats.
Comments
Last modified: Wed Aug 1 15:35:11 MEST 2001
|