Un grand avantage du singleton est l'héritage.

Tu définis une classe singleton A.
Dans un premier temps tu écris A.gA     = new A();

Plus tard, tu t'aperçois qu'il y a différentes implémentations possible
suivant les cas.

Tu peux alors écrire
class B extends A...
class C extends A...

Et au démarrage tu peut écrire

A.gA    = new A();
ou
A.gA    = new B();
ou
A.gA    = new C();

suivant les cas.
Néanmoins, tous les utilisateurs du singleton continuent d'écrire
A.ga.laMethode();

Cordialement,

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
Tél. 01 41 96 96 76
Fax 01 41 96 96 77
Mél  [EMAIL PROTECTED] 
 

-----Message d'origine-----
De : Laurent Forêt [mailto:[EMAIL PROTECTED]]
Envoyé : lundi 9 décembre 2002 11:48
À : [EMAIL PROTECTED]
Objet : Class static VS singleton


Bonjour,

    je me permets de rebondir sur la discussion 'interface-design'. Car, je
me pose une question, dont je n'ai jamais trouvé de réponse satisfaisante.

Avant, quand j'avais besoin d'une seule instance de ma classe (ou plutôt
besoin d'accéder à des méthodes de manière unique), je mettais toutes mes
méthodes en static. Puis, j'ai découvert le pattern singleton, que j'utilise
maintenant. La question est donc la suivante, qu'est ce qu'il y a de mal à
utiliser des méthodes statiques ?
En clair je ne vois pas l'apport de ce pattern, par rapport à mon ancienne
méthode.

Laurent Forêt.

Répondre à