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!