Design pattern:Singleton
De WIKI.minetti.org
Révision de 7 avril 2016 à 16:23 par Jp (discussion | contributions) (Page créée avec « == But == Permettre la gestion de l'instanciation d'une classe dont on veut s'assurer qu'il n'existera qu'une et une seule instance. == Diagramme de classes == Fichier:... »)
Sommaire
But
Permettre la gestion de l'instanciation d'une classe dont on veut s'assurer qu'il n'existera qu'une et une seule instance.
Diagramme de classes
Code
public class Singleton {
/**
* L'instance du singleton
*/
private static Singleton instance;
/**
* Constructeur redéfini comme étant privé
*/
private Singleton() {
}
/**
* Méthode permettant de récupérer l'instance du singleton
*/
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
Variante
Le singleton n'est pas adapté pour des applications multithreads. Dans ce cas, il faut utiliser le pattern verrouillage à double tour.
