Implémentation Singleton avec énumérations
Les modèles de conception Singleton garantissent qu'une classe n'a qu'une seule instance, fournissant un accès centralisé. Une approche intéressante pour implémenter des Singletons en Java consiste à utiliser les énumérations.
Considérez l'énumération suivante :
public enum MySingleton { INSTANCE; }
Comment cela fonctionne-t-il, étant donné que l'instanciation est généralement effectuée à l'aide de constructeurs ? La réponse réside dans le constructeur vide implicite pour les champs d'énumération.
Construction explicite
Pour rendre le processus d'instanciation plus explicite, nous pouvons définir un constructeur privé :
public enum MySingleton { INSTANCE; private MySingleton() { System.out.println("Instance created"); } }
Instanciation
Lorsque le code suivant fait référence à l'énumération (tel que MySingleton.INSTANCE), le constructeur ne s'exécute qu'une seule fois, établissant l'instance singleton.
public static void main(String[] args) { System.out.println(MySingleton.INSTANCE); }
Sortie :
Instance created INSTANCE
Points clés
Les champs Enum sont essentiellement des instances de leur type enum. Ils sont construits lorsque l'énumération est référencée pour la première fois. Cette approche fournit un moyen élégant et sécurisé d'implémenter Singleton en Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!