Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1694 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  hierarchie polymorphique , instanciation dynamique sans if

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

hierarchie polymorphique , instanciation dynamique sans if

n°1889671
Glock 17Pr​o
Posté le 29-05-2009 à 19:55:51  profilanswer
 

Hello,

 

Question architecture logicielle.

 

Soit une architecture classique mère et deux filles.

 

le choix de la fille dépend d'un paramètre contenu dans un fichier.

 

Ma question c'est, suis-je obliger d'avoir recours à un vilain if pour instancier corectement le pointeur sur la classe de base ?

 

if(param =1)
new fille1
else
new fille2

 


je peux pas m'en sortir avec des templates ou autrechose ?

 

Merci


Message édité par Glock 17Pro le 29-05-2009 à 20:02:05
mood
Publicité
Posté le 29-05-2009 à 19:55:51  profilanswer
 

n°1889692
Glock 17Pr​o
Posté le 29-05-2009 à 21:36:13  profilanswer
 

c une question con?

n°1889697
jesus_chri​st
votre nouveau dieu
Posté le 29-05-2009 à 22:20:03  profilanswer
 

les templates c'est pour les valeurs constantes connues à la compilation, ici tu lis des variables depuis un fichier.
 
Si ton paramètre est un entier, tu as le switch ou le tableau de pointeurs de fonctions, mais bon c'est lourd pour pas grand chose. Quel est le problème avec les if ?

n°1889707
Joel F
Real men use unique_ptr
Posté le 29-05-2009 à 23:20:23  profilanswer
 

fais une abstract factory quoi

n°1889725
Glock 17Pr​o
Posté le 30-05-2009 à 00:34:52  profilanswer
 

oui c'est ce que je fais mais t'as toujours besoin de if

n°1889728
Glock 17Pr​o
Posté le 30-05-2009 à 00:59:17  profilanswer
 

jesus_christ a écrit :

Quel est le problème avec les if ?


je sais pas je touve pas ça top/élégant

n°1889738
Joel F
Real men use unique_ptr
Posté le 30-05-2009 à 08:44:08  profilanswer
 

une AF avec des if ? ton implantation est foireuse car ca devrait etre basé sur une association id->fonction de generation


Message édité par Joel F le 30-05-2009 à 08:44:51
n°1889994
Glock 17Pr​o
Posté le 31-05-2009 à 22:01:48  profilanswer
 

je suis toujours obliger de ifé en sorti de l'AF pour savoir quel type d'objet je veux construire

 

if(param1)
AF<baseCLass,DerivedClass>.create
else
AF<baseClass,Derived2class>.create

Message cité 1 fois
Message édité par Glock 17Pro le 31-05-2009 à 22:03:07
n°1889997
Taz
bisounours-codeur
Posté le 31-05-2009 à 22:31:46  profilanswer
 

Un choix qui dépend d'une condition, tu peux tourner ça comme tu veux, c'est soit:
- template, spécialisation
- if

n°1890016
theshockwa​ve
I work at a firm named Koslow
Posté le 01-06-2009 à 01:51:57  profilanswer
 

Glock 17Pro a écrit :

je suis toujours obliger de ifé en sorti de l'AF pour savoir quel type d'objet je veux construire
 
if(param1)
AF<baseCLass,DerivedClass>.create
else
AF<baseClass,Derived2class>.create


 
ton code d'appel à ta factory devrait plutôt ressembler à ca :
BaseClass* instance = AF<BaseClass>::Create( param1 );
 
param1 étant l'id (par exemple une string) et tes deux classes dérivées ayant été au préalable enregistrées dans ta factory en donnant l'association id / classe dérivée. Du coup, ton if inélégant se transforme en recherche dans une map de ta factory, et là, tout est beau et joyeux


---------------
last.fm
mood
Publicité
Posté le 01-06-2009 à 01:51:57  profilanswer
 

n°1890566
Glock 17Pr​o
Posté le 02-06-2009 à 20:25:24  profilanswer
 

exact en faite le code que j'ai fournit me sert à enregistrer. et pour créer je fais comme ton code. Cependant je n'avais pas forcément envie d'enregistrer dans ma factory une classe qui ne sera jamais créer, d'où mes if


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  hierarchie polymorphique , instanciation dynamique sans if

 

Sujets relatifs
Création dynamique Zone de Texte ACCESS 2007Boucle de DELETE en fonction d'un SELECT
[javascript] variable dynamique ?vector de pointeur sur classe polymorphique
Menu vertical dynamique (avec BDD)Menu déroulant vertical dynamique
Variable dynamique[Problème] Instanciation de Servlet au démarrage de Tomcat
Tableau dynamique 2DTableau dynamique BOOST
Plus de sujets relatifs à : hierarchie polymorphique , instanciation dynamique sans if


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR