Maison  >  Article  >  Java  >  Explication détaillée du modèle singleton dans les modèles de conception Java

Explication détaillée du modèle singleton dans les modèles de conception Java

WBOY
WBOYoriginal
2024-05-09 14:51:02556parcourir

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.

Explication détaillée du modèle singleton dans les modèles de conception Java

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 :

  1. Créer un constructeur privé : Déclarez le constructeur de classe comme privé pour éviter qu'il ne soit instancié depuis l'extérieur de Chemical. catégorie.
  2. Créer une variable statique privée : Créez une variable statique privée de la classe à utiliser comme référence à la seule instance.
  3. Fournissez une méthode statique publique : Fournissez une méthode statique publique pour obtenir l'instance et créez d'abord l'instance si elle n'a pas encore été créée.
  4. Déclarer les variables comme finales : Déclarez les variables de référence statiques comme finales pour éviter qu'elles ne soient réaffectées.
  5. Déclarer une classe comme finale : Déclarez une classe d'implémentation comme finale pour empêcher la création de sous-classes de cette classe.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn