Le 22 Mar 2002 Sebastien Cesbron a �crit :

> [...]
> l'ensemble de mes classes service. Ma question est la suivante :
> existe t'il un moyen de masquer le constructeur des classes service en
> dehors de cette couche pour obliger les utilisateurs � passer par la
> classe GestionnaireService? Le moyen simple auquel j'avais pens� �tait
> [...]

Au niveau du constructeur, si tu as une classe "service" de base de 
laquelle h�rite tous les autres, tu peux d�clarer le constructeur de 
cette classe en protected. Ainsi tu permets l'acc�s depuis le 
paquage, tu permets l'h�ritage des services, mais tu n'emp�ches pas 
stricto-sensu la construction des classes services en dehors du 
gestionnaire de service.

Si tu veux vraiment l'empecher, tu ne peux pas le faire depuis le 
constructeur. Il faut que tu introduises une m�thode d'enregistrement 
d'un service d�j� construit dans le gestionnaire de service, style 
instGestionnaireService.enregistreService(instService), ou bien que 
tu cr�es dans la classe Service de base une m�thode final de niveau 
paquage, donc inutilisable depuis les autres paquages, toujours pour 
enregistrer le service, style final 
Service.inscritMoi(instGestionnaireService).

Je connais pas tout ton contexte, mais � premi�re vue la m�thode 
d'enregistrement d'un service par le gestionnaire de service est la 
meilleure.

A+.

--
Sur le Web, tout de suite.
Herve AGNOUX - diaam informatique
http://www.diaam-informatique.com

Répondre à