Bonjour,
Je trouve l'écriture des singletons en Java relativement chiante, qui plus est quand il s'agit de faire du multithread, et je m'étonne du côté bricolage de la manoeuvre puisqu'à aucun moment la JVM n'est au courant de cette "caractéristique" de la classe...
N'y a-t-il pas un moyen à l'aide des énumérations de Java 5 de faire que la JVM assure comme une grande l'unicité de l'instance? Je m'explique :
Au lieu d'utiliser :
Utiliser une énumération JSE5 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class MonSingleton { private static MonSingleton instanceUnique; private MonSingleton() { ... } public static MonSingleton getInstance() { if (instanceUnique == null) instanceUnique = new MonSingleton(); return instanceUnique; } ... }
Est-ce que c'est une bonne idée? Pourquoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public enum MonSingleton { INSTANCE; MonSingleton() { ... } // Juste pour faire zoli public static MonSingleton getInstance() { return INSTANCE; } ... }
Ou alors j'ai rien compris à l'utilisation des énums?
Merci les zamis
++
Partager