-
factory method
Bonjour,
je voudrais impl�menter une classe factory avec une method create_object qui puisse cr�er un pointeur sur un objet d'une classe � partir d'un mot cl�s.
L'id�e est de d�finir des mots cl�s pour chaque classe et de cr�er des objets de la sorte:
DECLARE_CLASS(A,"keyword_A");
classe A : public base {}
DECLARE_CLASS(B,"keyword_B");
classe B : public base {}
cr�ation :
string str="keyword_A"
base* ptr=create_object(str);
Voila un peu l'id�e est de cr�er des objets d'une classse � partir d'un mot cl�s sans savoir � l'avance le type de l'objet qui va �tre cr�er.
Merci
Xavier
-
Ca m'a l'air tr�s louable, comme but. C'est aussi un des grands classiques des design patterns. Et quel est ton soucis ?
Perso, je partirais vers un std::map<string, boost::function< Base* (/*arguments de constructeur*/) > > comme structure de stockage de cette factory.
Pour enregistrer dans la factory, le truc classique est de d�finir un objet global qui ne sert qu'� enregistrer la classe en side effect de son constructeur, mais attention, le linker peut d�cider d'enlever les objets qu'il juge (� tort) non utilis�s dans une biblioth�que...
-
Mon souci est que je n'ai jamais fait ca et je cherche �ventuellement des exemples de factory histoire de me donner une id�e des diff�rentes choses � faire.
Je suis en train de d�velopper un logiciel perso.
Merci de m'aider
xavier