Maison  >  Article  >  développement back-end  >  Analyse des avantages de l'utilisation de la conception de modèles singleton dans le cadre CI

Analyse des avantages de l'utilisation de la conception de modèles singleton dans le cadre CI

PHP中文网
PHP中文网original
2017-08-26 10:29:163010parcourir


Dans le processus d'utilisation du framework CI, vous constaterez que la super variable $ci est passée par référence et valeur. Ce que vous obtenez via get_instance() est toujours le même objet CI. .

Présentons les avantages de cette opération :

Le modèle singleton est considéré comme le modèle de responsabilité, qui est utilisé pour créer un point d'accès fonctionnel unique dans l'application.

Il délègue le contrôle de la création d'objets à un seul point d'accès. A tout moment, une seule instance de cette classe existera dans l’application.
Cela nous évite d'ouvrir plusieurs connexions à la base de données ou d'utiliser des ressources système inutiles.
Dans les systèmes plus complexes, l'utilisation du modèle singleton est également particulièrement utile pour maintenir la synchronisation de l'état de l'application.

Toutes les classes singleton ont au moins les trois éléments publics suivants : Elles doivent avoir un constructeur et doivent être marquées comme privées. Ils ont une variable membre statique qui contient une instance de la classe.

Ils ont une méthode statique publique pour accéder à cette instance. Contrairement aux classes ordinaires :


Les classes Singleton ne peuvent pas être instanciées directement dans d'autres classes. Une classe singleton ne peut être instanciée que par elle-même.
Pour obtenir un tel résultat, la méthode __construct() doit être marquée comme privée. Si vous essayez de construire une classe avec un constructeur privé, vous obtiendrez une erreur de niveau d'accessibilité.

Pour qu'une classe singleton fonctionne, elle doit fournir une instance pour d'autres classes et l'utiliser pour appeler diverses méthodes.
La classe singleton ne crée pas de copie de l'instance, mais renvoie une référence à l'instance stockée dans la classe singleton.
Le résultat est que la classe singleton ne duplique pas les ressources mémoire et système, permettant à d'autres parties de l'application de mieux utiliser ces ressources.
Dans le cadre de ce modèle, une méthode privée __clone() vide doit être créée pour empêcher la copie ou le clonage de l'objet. Cette méthode qui renvoie une référence d'instance est généralement nommée getTnstance(). Cette méthode doit être statique et doit être instanciée si elle ne l'est pas déjà.

La méthode getInstance() peut détecter si une classe a été instanciée en utilisant l'opérateur instanceof et le mot-clé self.

Cet article est fourni par le site Web chinois PHP et explique pourquoi vous devriez utiliser le mode singleton.

Adresse de l'article : http://www.php.cn/php-weizijiaocheng-377485.html

Apprenez la programmation sur le site PHP chinois www.php.cn

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