Salut
Je m'intéresse au pattern singleton (pour obtenir seulement une instance de classe) et j'ai dû mal à comprendre son fonctionnement :
Ce qui me pose problème : j'ai bien compris le principe de la méthode avec le test pour s'assurer de l'unicité de l'instance mais la variable instance de type Singleton est de type static.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Singleton { private static Singleton instance; private Singleton() {} public Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
Du coup même si l'on créée plusieurs instances (en enlevant le test if == null), cela ne devrait rien changer puisque vu que la variable instance est de type static, c'est donc une variable de classe, c'est à dire qu'elle est partagée par toutes les instances.
Donc au final, ça ne devrait rien changer si l'on enlève le if (instance == null), non ?
Merci![]()
Partager