Bonjour,

J'ai un souci de conception qui me d�range de plus en plus et j'aimerai votre avis.

Je dois maintenir un programme de taille moyenne (140 fichiers, 60 classes).

Sch�matiquement, une classe "core" manage une tripot�e de classes sp�cialis�es A, B , C , D ... environ 40 classes, chaque classe sp�cialis�e a environ 3 � 5 assesseurs.
chaque classe sp�cialis�e est d�finie ainsi dans core :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
classe core {
 
public:
  ...
private:
  class* A a;
  class* B b;
  class* C c;
  ...
}
Si je me focalise sur les get/set, j'ai donc dans core environ 120 � 200 set/get. et core ressemble � cela:

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
classe core {
 
public:
 ...
 setClass_a1()
 getClass_a1()
 setClass_a2()
 getClass_a2()
 setClass_a3()
 getClass_a3()
 setClass_b1()
 getClass_b1()
 setClass_b2()
 getClass_b2()
 setClass_b3()
 getClass_b3()
 setClass_b4()
 getClass_b4()
 ...
private:
  class* A a;
  class* B b;
}

car ma classe core est dirig�e par une autre classe "manager" qui g�re un moteur de script et qui a besoin d'acc�der aux get/set des classes sp�cialis�es. Comme il n'y a pas de lien entre "manager" et les classes sp�cialis�es, les concepteurs ont tout fait pass� par "core"

Bref, ca commence � m'emb�ter s�rieusement car ma classe "core" devient au final illisible.

ensuite c'est le probl�me m�me des set/get

j'ai donc pour une variable dans une classe sp�cialis�e
- un set:get pour cette variable [dans le fichier de d�finition de la classe sp�cialis�e en question]
- un set/get dans la classe core qui ne sert que de relai. [dans le fichier de d�finition de la classe core]
- un set/get dans ma classe "manager" pour modifier effectivement la variable de la classe sp�cialis�e. [dans le fichier de d�finition de la classe "manager"]


Je souhaiterai changer tout cela.

J'ai mes id�es mais comme toute implication n�cessite de changer �norm�ment de choses, j'aimerai votre avis avant de tout changer pour �viter de tout rechanger � nouveau.

D�j� merci pour votre aide !