Maison >Java >javaDidacticiel >Explication détaillée du modèle singleton dans les modèles de conception Java
Le modèle singleton en Java est implémenté selon les étapes suivantes : Créer un constructeur de classe privée. Créez une variable statique privée comme référence à la seule instance. Fournissez une méthode statique publique pour obtenir l’instance. Déclarez les variables de référence statiques comme finales. Déclarez la classe d'implémentation comme finale.
Java Design Pattern : Singleton Pattern
Introduction
Le modèle singleton est un moyen de garantir qu'il ne peut y avoir qu'une seule instance d'une classe dans une application. Il permet de maintenir la cohérence des états, d'éviter la création d'objets inutiles et de simplifier la gestion.
Implémentation du modèle Singleton en Java
En Java, le modèle Singleton peut être implémenté en suivant les étapes suivantes :
Exemple de code :
public class Singleton { private static final Singleton INSTANCE = new Singleton(); private Singleton() { // 私有构造函数 } public static Singleton getInstance() { return INSTANCE; } }
Cas pratique
Considérons une application de messagerie qui gère les sessions utilisateur. L'application doit conserver une référence unique à l'utilisateur actuel afin de suivre ses activités et ses préférences tout au long de la session. Le modèle singleton peut être utilisé pour conserver cette instance utilisateur unique comme suit :
public class UserManager { private static final UserManager INSTANCE = new UserManager(); private User currentUser; private UserManager() { // 私有构造函数 } public static UserManager getInstance() { return INSTANCE; } public void setCurrentUser(User user) { this.currentUser = user; } public User getCurrentUser() { return currentUser; } }
En utilisant le modèle singleton, la classe UserManager
peut garantir qu'une seule copie de l'état de session utilisateur est conservée et gérée. Cela permet de simplifier la gestion des utilisateurs et de garantir la cohérence entre les applications.
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!