Pattern fabrique et dynamic_cast : question !
Bonjour,
Je développe une petite librairie de classes génériques que je réutiliserai dans mes projets, dans laquelle j'incorpore une classe "Fabrique" (du design pattern du même nom) à l'aide de templates. D'ailleurs, elle est très fortement inspirée du cours de developpez.com :
http://come-david.developpez.com/tut...e=Fabrique#LIV
Je n'ai pas trouvé d'autre moyen que de dériver ma classe Factory<Operation> (par exemple) en :
Code:
OpFactory* factory = dynamic_cast<OpFactory*>(OpFactory::instance());
où la classe OpFactory dérive bien sur de Factory<Operation> et Factory<Operation> est implémentée sous forme de singleton.
Je ne suis pas un fin connaisseur des casts, mais j'en sais assez pour savoir qu'il faut se méfier de ce genre de pratique. La preuve par 3 après 2 secondes de recherche :
http://cpp.developpez.com/faq/cpp/in...RS_downcasting
Aussi, je voudrais savoir s'il y a un moyen plus sioux d'étendre la Factory avec template ?
Merci d'avance pour vos réponses !