next up previous contents index
suivant: Un pattern de création monter: Autres exemples de patterns précédent: Autres exemples de patterns   Table des matières   Index


Un pattern de création : les classes singletons

Une classe singleton est une classe qui ne peut avoir qu'une seule instance. La réalisation d'une telle classe met en 3#3uvre :

class Singleton {
  A champ;
  // ...
  private static Singleton instance;
  private Singleton(A champ) {
    this.champ = champ;
    // ...
  }
  // ...
  static Singleton uniqueInstance(A champ) {
    if (instance == null) {
      instance = new Singleton(champ);
    }
   return instance;
  }
}

Cette classe sera utilisée ainsi :

    Singleton s1 = Singleton.uniqueInstance(new Double(2.3));

Remarquons que si la méthode uniqueInstance n'est pas appelée, l'instance n'est pas créée : dans une application donnée, cette classe a au plus une instance, elle peut n'en avoir aucune.



Rene' LALEMENT 2002-11-07