Bonjour � tous,
J'ai une question sur l'organisation des programmes Java; mon
programme a une classe "ma�tresse", qui lors du d�marrage instancie
toutes les autres en se passant � leurs constructeurs. Ainsi, chacune
des classes filles peut utiliser des m�thodes de cette classe ma�tresse.
Par exemple, la classe ma�tresse s'occupe de la connection � une base
de donn�e, et r�cup�re un handle pour cette connection
(java.sql.Connection); ce que je veux, c'est que chaque classe fille
puisse avoir acc�s � cette variable (comme la variable est le r�sultat
de l'instanciation d'une classe d�di�e � la connection, j'aimerai ne
cr�er cette derni�re classe qu'une fois pour toute, pour toutes les
classes du programme).
Pour le moment je proc�de comme �a; le code ma classe ma�tresse est:
================================================================
import classes_filles.*;
public class MaClasseMaitresse
{
public Connection connection; // variable � partager
chez toutes
les classes-filles
public MaClasseMaitresse()
{
connection = .... // on
initialise cette variable...
// Puis on initialise une classe fille en
passant � son
constructeur
// une r�f�rence � la classe ma�tresse
ClassFille fille = new ClassFille(this);
}
================================================================
Ce qui fait que, pour la classe-fille, je peux acc�der � la variable
"connection" de la classe ma�tresse de la fa�on suivante:
================================================================
public class ClassFille
{
public Connection connection; // variable
destin�e � recevoir la
valeur du handle Connection tel que d�fini par la classe ma�tresse
public MaClassMaitresse classMaitresse;
public ClassFille (MaClassMaitresse maitresse)
{
classMaitresse = maitresse;
connection = classMaitresse.connection; // et
hop !
...
================================================================
Mon probl�me c'est que c'est lourd de devoir cha�ner la r�f�rence � la
classe ma�tresse dans toutes les classes filles (qui elle-m�me cr�ent
des sous-filles, auxquelles la r�f�rence doit �galement �tre pass�e...)
N'y a-t'il pas un moyen de stocker quelque part la r�f�rence � la
classe ma�tresse, pour que n'importe quelle autre classe du programme
puisse utiliser ses m�thodes ? (sachant que la classe ma�tresse est
instanci�e avant toutes les autres) Je n'ai pas d'exp�rience dans ce
domaine; lorsque mon programme �tait � ses d�buts, c'�tait jouable mais
maintenant ca devient p�nible (et j'imagine, une g�ne pour la vitesse
d'ex�cution / occupation m�moire) de passer cette r�f�rence de fille en
fille, sachant que j'ai une arborescence de classes assez importante.
J'imagine que c'est un probl�me classique qu'a du rencontrer tout
programmeur d�butant en java ?
En vous remerciant,
Aur�lien Mazurie