Accueil de l'archive Service proposé par Hervé AGNOUX

TOUT -|- TOUT sur le visuel -|- TOUT sur la logistique

Date sent:      	Tue, 06 Mar 2001 14:34:24 +0100
From:           	Sebastien Cesbron <scesbron@ifrance.com>
To:             	java@u-strasbg.fr
Subject:        	Singleton
Send reply to:  	java@u-strasbg.fr

Bonjour,

Il semble d'usage d'implémenter le pattern Singleton en mettant le
constructeur d'une classe privé et en proposant une méthode
getInstance() qui renvoie l'unique instance créée.
On pourrait également n'avoir que des méthodes statiques dans la classe et
avoir un initialiseur statique.

En quoi le premier mode de fonctionnement présenté est il préférable au
second ?

merci pour vos réponses

Sébastien

__________________________________________________________________________
____ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos
emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
http://www.ifrance.com/_reloc/email.emailif


     

From:           	"Nicolas Delsaux" <nicolas.delsaux@free.fr>
To:             	<java@u-strasbg.fr>
Subject:        	Re: Singleton
Date sent:      	Tue, 6 Mar 2001 15:10:14 +0100
Organization:   	Miriad Technologies
Send reply to:  	java@u-strasbg.fr

Le premier mode de fonctionnement met en valeur un objet de cette classe
alors que le second, utilisant tout de même cet objet, le masque et rend
la compréhension du fonctionnement de cette classe plus délicat. De plus,
la récupération de cette instance fait que tout objet qui l'utilise en
aura forcément une instance valide, alors que dans le cas de méthodes
statiques il faudrait à chaque fois essayer de le créer, et donc faire
appel à un getInstance dans la classe.

Nicolas Delsaux
----- Original Message -----
From: "Sebastien Cesbron" <scesbron@ifrance.com>
To: <java@u-strasbg.fr>
Sent: Tuesday, March 06, 2001 2:34 PM
Subject: Singleton


> Bonjour,
>
> Il semble d'usage d'implémenter le pattern Singleton en mettant le
> constructeur d'une classe privé et en proposant une méthode
> getInstance() qui renvoie l'unique instance créée.
> On pourrait également n'avoir que des méthodes statiques dans la classe
> et avoir un initialiseur statique.
>
> En quoi le premier mode de fonctionnement présenté est il préférable au
> second ?
>
> merci pour vos réponses
>
> Sébastien
>
>
__________________________________________________________________________
__ __ > ifrance.com, l'email gratuit le plus complet de l'Internet ! > vos
emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... >
http://www.ifrance.com/_reloc/email.emailif > > >

     

Date sent:      	Tue, 06 Mar 2001 15:57:34 +0100
From:           	Sonia CHEDHOMME <sonia.chedhomme@aql.fr>
To:             	java@u-strasbg.fr
Subject:        	Re: Singleton
Send reply to:  	java@u-strasbg.fr

Bonjour,

Sebastien Cesbron a écrit :

> Bonjour,
>
> Il semble d'usage d'implémenter le pattern Singleton en mettant le
> constructeur d'une classe privé et en proposant une méthode
> getInstance() qui renvoie l'unique instance créée.
> On pourrait également n'avoir que des méthodes statiques dans la classe
> et avoir un initialiseur statique.
>
> En quoi le premier mode de fonctionnement présenté est il préférable au
> second ?

En terme d'évolutivité et de maintenabilité, l'utilisation du Design
Pattern Singleton est préférable car : - si à un moment donné tu veux
exactement 2 instances de ta classe (au lieu d'une seule). Les
modifications à effectuer dans cette classe sont simples (méthode
getInstance() à modifier). Ce qui n'est pas le cas si tu utilises
uniquement des méthodes statiques. - En utilisant le Design P. tu peux
toujours faire de l'héritage à partir de cette classe. Ce qui n'est pas
vraiment le cas lorsque tu n'as dans la classe parente que des attributs
et méthodes statiques.

En fait, avec des méthodes statiques et un initialiseur statique, tu perds
la notion d'objet...

Sonia


>
>
> merci pour vos réponses
>
> Sébastien
>
> ________________________________________________________________________
> ______ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos
> emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> http://www.ifrance.com/_reloc/email.emailif

--

-----------------------------------+
Mailto:sonia.chedhomme@aql.fr

ALLIANCE QUALITE LOGICIEL
-   GROUPE  SILICOMP    -
Rue de la Châtaigneraie
B.P. 127
F35513 CESSON-SÉVIGNÉ

Tel   : +33(0)2 99 12 50 00
Fax   : +33(0)2 99 63 70 40

-----------------------------------+
http://www.aql.fr/
-----------------------------------+


     

From:           	Olivier Dedieu <Olivier.Dedieu@inria.fr>
Date sent:      	Tue, 6 Mar 2001 16:20:30 +0100 (MET)
To:             	java@u-strasbg.fr
Subject:        	Re: Singleton
Send reply to:  	Olivier.Dedieu@inria.fr


>  Certes Sonia mais il n'y a pas qu'une seule facon d'implementer le
>  pattern Singleton ..la classe par exemple peut etre static..enfin comme
>  je l'ai dit reference au book " Design Patterns the Java companion " de
>  James W.cooper ( addison wesley) telechargeable sur le net mais je n'ai
>  plus l'URL

Une URL sur Java de perdue ??? Rassurez vous, le canal Java est la :-)
http://pharos.inria.fr/Java/annotations.jsp?url=http%3A%2F%2Fwww.patterndepot.com%2Fput%2F8%2FJavaPatterns.htm

(PS: commes tu sembles apprécier ce livre, n'hesites pas, comme
Stephan Schmidt, a mettre ton commentaire)

a+

---------------------------------------------------------------
 Olivier Dedieu - (INRIA - Bull / WebTools - Pharos)
 Web: http://www-sor.inria.fr/~dedieu  
 JavaChannel: http://www.java-channel.org/
 Pharos team: http://webtools.dyade.fr/pharos/
---------------------------------------------------------------
     

Date sent:      	Tue, 06 Mar 2001 15:52:50 +0000
From:           	francisco Garcia <fga2@wanadoo.fr>
To:             	java@u-strasbg.fr
Subject:        	Re: Singleton
Send reply to:  	java@u-strasbg.fr

Tente de telecharger le livre qu format electronique " the design patterns
Java Companion" de James W.Cooper ils font référence à plusieurs
implementations possibles du singleton: classe static, static methods, le
getIsntance classique avec constructeur private..bref il n'y a pas qu'un
seul moyen d'y arriver apres sur le choix on peut s'etendre take care

Nicolas Delsaux a écrit :

> Le premier mode de fonctionnement met en valeur un objet de cette classe
> alors que le second, utilisant tout de même cet objet, le masque et rend
> la compréhension du fonctionnement de cette classe plus délicat. De
> plus, la récupération de cette instance fait que tout objet qui
> l'utilise en aura forcément une instance valide, alors que dans le cas
> de méthodes statiques il faudrait à chaque fois essayer de le créer, et
> donc faire appel à un getInstance dans la classe.
>
> Nicolas Delsaux
> ----- Original Message -----
> From: "Sebastien Cesbron" <scesbron@ifrance.com>
> To: <java@u-strasbg.fr>
> Sent: Tuesday, March 06, 2001 2:34 PM
> Subject: Singleton
>
> > Bonjour,
> >
> > Il semble d'usage d'implémenter le pattern Singleton en mettant le
> > constructeur d'une classe privé et en proposant une méthode
> > getInstance() qui renvoie l'unique instance créée. On pourrait
> > également n'avoir que des méthodes statiques dans la classe et avoir
> > un initialiseur statique.
> >
> > En quoi le premier mode de fonctionnement présenté est il préférable
> > au second ?
> >
> > merci pour vos réponses
> >
> > Sébastien
> >
> >
> ________________________________________________________________________
> ____ __
> > ifrance.com, l'email gratuit le plus complet de l'Internet !
> > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> > http://www.ifrance.com/_reloc/email.emailif
> >
> >
> >

     

Date sent:      	Tue, 06 Mar 2001 15:56:07 +0000
From:           	francisco Garcia <fga2@wanadoo.fr>
To:             	java@u-strasbg.fr
Subject:        	Re: Singleton
Send reply to:  	java@u-strasbg.fr

Certes Sonia mais il n'y a pas qu'une seule facon d'implementer le pattern
Singleton .la classe par exemple peut etre static..enfin comme je l'ai dit
reference au book " Design Patterns the Java companion " de James W.cooper
( addison wesley) telechargeable sur le net mais je n'ai plus l'URL

Sonia CHEDHOMME a écrit :

> Bonjour,
>
> Sebastien Cesbron a écrit :
>
> > Bonjour,
> >
> > Il semble d'usage d'implémenter le pattern Singleton en mettant le
> > constructeur d'une classe privé et en proposant une méthode
> > getInstance() qui renvoie l'unique instance créée. On pourrait
> > également n'avoir que des méthodes statiques dans la classe et avoir
> > un initialiseur statique.
> >
> > En quoi le premier mode de fonctionnement présenté est il préférable
> > au second ?
>
> En terme d'évolutivité et de maintenabilité, l'utilisation du Design
> Pattern Singleton est préférable car : - si à un moment donné tu veux
> exactement 2 instances de ta classe (au lieu d'une seule). Les
> modifications à effectuer dans cette classe sont simples (méthode
> getInstance() à modifier). Ce qui n'est pas le cas si tu utilises
> uniquement des méthodes statiques. - En utilisant le Design P. tu peux
> toujours faire de l'héritage à partir de cette classe. Ce qui n'est pas
> vraiment le cas lorsque tu n'as dans la classe parente que des attributs
> et méthodes statiques.
>
> En fait, avec des méthodes statiques et un initialiseur statique, tu
> perds la notion d'objet...
>
> Sonia
>
> >
> >
> > merci pour vos réponses
> >
> > Sébastien
> >
> > ______________________________________________________________________
> > ________ ifrance.com, l'email gratuit le plus complet de l'Internet !
> > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> > http://www.ifrance.com/_reloc/email.emailif
>
> --
>
> -----------------------------------+
> Mailto:sonia.chedhomme@aql.fr
>
> ALLIANCE QUALITE LOGICIEL
> -   GROUPE  SILICOMP    -
> Rue de la Châtaigneraie
> B.P. 127
> F35513 CESSON-SÉVIGNÉ
>
> Tel   : +33(0)2 99 12 50 00
> Fax   : +33(0)2 99 63 70 40
>
> -----------------------------------+
> http://www.aql.fr/
> -----------------------------------+

     

Date sent:      	Tue, 06 Mar 2001 15:59:41 +0000
From:           	francisco Garcia <fga2@wanadoo.fr>
To:             	java@u-strasbg.fr
Subject:        	Re: Singleton
Send reply to:  	java@u-strasbg.fr

La classe Math de java est apres tout une sorte se singleton n'est ce pas
cf implementation c'est uen classe declarée final avec méthodes static

Sonia CHEDHOMME a écrit :

> Bonjour,
>
> Sebastien Cesbron a écrit :
>
> > Bonjour,
> >
> > Il semble d'usage d'implémenter le pattern Singleton en mettant le
> > constructeur d'une classe privé et en proposant une méthode
> > getInstance() qui renvoie l'unique instance créée. On pourrait
> > également n'avoir que des méthodes statiques dans la classe et avoir
> > un initialiseur statique.
> >
> > En quoi le premier mode de fonctionnement présenté est il préférable
> > au second ?
>
> En terme d'évolutivité et de maintenabilité, l'utilisation du Design
> Pattern Singleton est préférable car : - si à un moment donné tu veux
> exactement 2 instances de ta classe (au lieu d'une seule). Les
> modifications à effectuer dans cette classe sont simples (méthode
> getInstance() à modifier). Ce qui n'est pas le cas si tu utilises
> uniquement des méthodes statiques. - En utilisant le Design P. tu peux
> toujours faire de l'héritage à partir de cette classe. Ce qui n'est pas
> vraiment le cas lorsque tu n'as dans la classe parente que des attributs
> et méthodes statiques.
>
> En fait, avec des méthodes statiques et un initialiseur statique, tu
> perds la notion d'objet...
>
> Sonia
>
> >
> >
> > merci pour vos réponses
> >
> > Sébastien
> >
> > ______________________________________________________________________
> > ________ ifrance.com, l'email gratuit le plus complet de l'Internet !
> > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> > http://www.ifrance.com/_reloc/email.emailif
>
> --
>
> -----------------------------------+
> Mailto:sonia.chedhomme@aql.fr
>
> ALLIANCE QUALITE LOGICIEL
> -   GROUPE  SILICOMP    -
> Rue de la Châtaigneraie
> B.P. 127
> F35513 CESSON-SÉVIGNÉ
>
> Tel   : +33(0)2 99 12 50 00
> Fax   : +33(0)2 99 63 70 40
>
> -----------------------------------+
> http://www.aql.fr/
> -----------------------------------+

     

Date sent:      	Tue, 06 Mar 2001 16:02:35 +0000
From:           	francisco Garcia <fga2@wanadoo.fr>
To:             	java@u-strasbg.fr
Subject:        	Re: Singleton
Send reply to:  	java@u-strasbg.fr

Mais si tu fais de l'heritage alors tu peux etenndre ta classe et par la
meme créer des instances de cette classe so strange don't u think ..

Sonia CHEDHOMME a écrit :

> Bonjour,
>
> Sebastien Cesbron a écrit :
>
> > Bonjour,
> >
> > Il semble d'usage d'implémenter le pattern Singleton en mettant le
> > constructeur d'une classe privé et en proposant une méthode
> > getInstance() qui renvoie l'unique instance créée. On pourrait
> > également n'avoir que des méthodes statiques dans la classe et avoir
> > un initialiseur statique.
> >
> > En quoi le premier mode de fonctionnement présenté est il préférable
> > au second ?
>
> En terme d'évolutivité et de maintenabilité, l'utilisation du Design
> Pattern Singleton est préférable car : - si à un moment donné tu veux
> exactement 2 instances de ta classe (au lieu d'une seule). Les
> modifications à effectuer dans cette classe sont simples (méthode
> getInstance() à modifier). Ce qui n'est pas le cas si tu utilises
> uniquement des méthodes statiques. - En utilisant le Design P. tu peux
> toujours faire de l'héritage à partir de cette classe. Ce qui n'est pas
> vraiment le cas lorsque tu n'as dans la classe parente que des attributs
> et méthodes statiques.
>
> En fait, avec des méthodes statiques et un initialiseur statique, tu
> perds la notion d'objet...
>
> Sonia
>
> >
> >
> > merci pour vos réponses
> >
> > Sébastien
> >
> > ______________________________________________________________________
> > ________ ifrance.com, l'email gratuit le plus complet de l'Internet !
> > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> > http://www.ifrance.com/_reloc/email.emailif
>
> --
>
> -----------------------------------+
> Mailto:sonia.chedhomme@aql.fr
>
> ALLIANCE QUALITE LOGICIEL
> -   GROUPE  SILICOMP    -
> Rue de la Châtaigneraie
> B.P. 127
> F35513 CESSON-SÉVIGNÉ
>
> Tel   : +33(0)2 99 12 50 00
> Fax   : +33(0)2 99 63 70 40
>
> -----------------------------------+
> http://www.aql.fr/
> -----------------------------------+

     

Date sent:      	Tue, 06 Mar 2001 16:07:39 +0000
From:           	francisco Garcia <fga2@wanadoo.fr>
To:             	java@u-strasbg.fr
Subject:        	Re: Singleton
Send reply to:  	java@u-strasbg.fr

D'ailleurs peut on etendre une classe qui ne peut etre instantiée ..!! i
don't think so

francisco Garcia a écrit :

> Mais si tu fais de l'heritage alors tu peux etenndre ta classe et par la
> meme créer des instances de cette classe so strange don't u think ..
>
> Sonia CHEDHOMME a écrit :
>
> > Bonjour,
> >
> > Sebastien Cesbron a écrit :
> >
> > > Bonjour,
> > >
> > > Il semble d'usage d'implémenter le pattern Singleton en mettant le
> > > constructeur d'une classe privé et en proposant une méthode
> > > getInstance() qui renvoie l'unique instance créée. On pourrait
> > > également n'avoir que des méthodes statiques dans la classe et avoir
> > > un initialiseur statique.
> > >
> > > En quoi le premier mode de fonctionnement présenté est il préférable
> > > au second ?
> >
> > En terme d'évolutivité et de maintenabilité, l'utilisation du Design
> > Pattern Singleton est préférable car : - si à un moment donné tu veux
> > exactement 2 instances de ta classe (au lieu d'une seule). Les
> > modifications à effectuer dans cette classe sont simples (méthode
> > getInstance() à modifier). Ce qui n'est pas le cas si tu utilises
> > uniquement des méthodes statiques. - En utilisant le Design P. tu peux
> > toujours faire de l'héritage à partir de cette classe. Ce qui n'est
> > pas vraiment le cas lorsque tu n'as dans la classe parente que des
> > attributs et méthodes statiques.
> >
> > En fait, avec des méthodes statiques et un initialiseur statique, tu
> > perds la notion d'objet...
> >
> > Sonia
> >
> > >
> > >
> > > merci pour vos réponses
> > >
> > > Sébastien
> > >
> > > ____________________________________________________________________
> > > __________ ifrance.com, l'email gratuit le plus complet de
> > > l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel,
> > > sur le WAP... http://www.ifrance.com/_reloc/email.emailif
> >
> > --
> >
> > -----------------------------------+
> > Mailto:sonia.chedhomme@aql.fr
> >
> > ALLIANCE QUALITE LOGICIEL
> > -   GROUPE  SILICOMP    -
> > Rue de la Châtaigneraie
> > B.P. 127
> > F35513 CESSON-SÉVIGNÉ
> >
> > Tel   : +33(0)2 99 12 50 00
> > Fax   : +33(0)2 99 63 70 40
> >
> > -----------------------------------+
> > http://www.aql.fr/
> > -----------------------------------+

C'est fini ! Retour à l'accueil de la pseudo-archive