Bonjour,
J'ai l'architecture suivante :
- classe ModelB et ModelC héritent d'une classe mère Model.
- classe ControlerB et ControlerC héritent d'une class mère Controler.
- classe ControlerB est composée d'un objet ModelB qu'elle contrôle.
- classe ControlerC est composée d'un objet ModelC qu'elle contrôle.
Est-il préfèrable de faire :
et caster le model dés que nécessaire dans les classes filles ou faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class Controler { public : Controler(); ~Controler(); void SetModel(Model*); protected : Model* model; }
et ne pas exploiter le polymorphisme ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 class Controler { public : Controler(); ~Controler(); } class ControlerB { public : //... void SetModel(ModelB*); private : ModelB* _model; } class ControlerC { public : //... void SetModel(ModelC*); private : ModelC* _model; }
Pour information, les modèles ModelB et ModelC sont très éloignés (Model représente un haut degrés d'abstraction) et partagent donc très peu de méthodes communes (d'ou ma question car un ControlerB ne serait par exemple pas adapté pour gérer un ModelC d'un point de vue purement logique de conception... (d'un point de vue technique, les casts permettent de résoudre ce problème)).
Merci
Partager