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.