IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

factory method


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 85
    Par d�faut 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

  2. #2
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    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...
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 85
    Par d�faut
    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

Discussions similaires

  1. R�ponses: 3
    Dernier message: 15/10/2009, 19h03
  2. Probl�me avec factory-method sur WebSphere
    Par enimnez dans le forum Spring
    R�ponses: 0
    Dernier message: 07/05/2009, 15h55
  3. [Fabrique] [Factory Method] Questions
    Par A�ssa dans le forum Design Patterns
    R�ponses: 4
    Dernier message: 17/01/2007, 12h39
  4. Spring et factory-method
    Par dehbi dans le forum Spring
    R�ponses: 3
    Dernier message: 31/03/2006, 16h00
  5. [GOF] Abstract Factory vs Factory Method
    Par Greybird dans le forum Design Patterns
    R�ponses: 3
    Dernier message: 10/06/2005, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo