Maison > Java > javaDidacticiel > Qu'est-ce que le modèle de conception singleton ?

Qu'est-ce que le modèle de conception singleton ?

PHP中文网
Libérer: 2017-06-20 10:26:10
original
1500 Les gens l'ont consulté

Le problème résolu par le design pattern singleton : garantir l'unicité des objets d'une classe en mémoire.

Par exemple : lorsque plusieurs programmes lisent un fichier de configuration, il est recommandé d'encapsuler le fichier de configuration dans un objet. Il sera pratique d'exploiter les données qu'il contient et pour garantir que plusieurs programmes lisent le même objet de fichier de configuration, l'objet de fichier de configuration doit être unique dans la mémoire.

La méthode Runtime() est un objet garanti conçu dans le modèle de conception singleton :

1. Ne laissez pas d'autres programmes créer des objets de ce type

2. class;

3. Fournissez des méthodes externes pour permettre à d'autres programmes d'obtenir cet objet.

Étapes pour garantir l'unicité de l'objet :

1.Parce que la création d'un objet nécessite l'initialisation du constructeur, tant que le constructeur de cette classe est privatisé, les autres programmes ne peuvent pas créer un objet de cette classe 2.Créer un objet de cette classe dans la classe ; Objet de classe

3.

Définissez une méthode pour renvoyer l'objet afin que d'autres programmes puissent obtenir ce type d'objet via la méthode. (Fonction : contrôlable) Réflexion du code :

1. Constructeur privé

2. Créer un objet privé et statique de cette classe

3. méthode publique et statique pour renvoyer l’objet.

---------------------------------- - -------------------------------------------------

/********* Faim chinois à la chinoise *************/

classe Single(){

private Single() {} //Constructeur privé

private static Single sg = new Single() ;//Créer un objet privé et statique de cette classe

public static Single getInstance() { //Définissez une méthode statique publique et renvoyez l'objet

retourner sg; >

 }

}

/*********** Style Lazy Man : méthode de chargement paresseux *********/

classe Single2(){

private Single2(){}

  private static Single2 sg2 = null;

  public static Single2 getInstance(){

    if( null == sg2 ){

      sg2 = new Single2();

      return sg2;

    }  

  }

}

 

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal