Maison  >  Article  >  développement back-end  >  A quoi sert Python en mode singleton

A quoi sert Python en mode singleton

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-26 10:24:473518parcourir

Le mode Singleton est également appelé mode singleton. C'est le mode le plus simple parmi les modèles de conception. Même certains maîtres de modèles ne l'appellent pas un modèle, mais l'appellent une technique d'implémentation car les modèles de conception prêtent attention à l'abstraction de la relation. entre les objets, alors que le modèle singleton n'a qu'un seul objet qui lui est propre, c'est pourquoi certains maîtres du design l'appellent l'un des modèles de conception.

A quoi sert Python en mode singleton

Schéma du modèle logique :

A quoi sert Python en mode singleton

Schéma du modèle physique :

A quoi sert Python en mode singleton

Beaucoup de personnes qui ne l'ont jamais utilisé peuvent penser que le mode singleton n'est pas beaucoup utilisé. Quels sont les scénarios d'application réels ? Ci-dessous, je vais énumérer quelques scénarios d'application singleton qui nous entourent et qui sont très significatifs.

Recommandations associées : "Tutoriel vidéo Python"

1. Le gestionnaire de tâches de Windows est un mode singleton très typique. Pensez-y, c'est non, pouvez-vous l'ouvrir. deux gestionnaires de tâches Windows ?

2. La corbeille de Windows est également une application singleton typique. Pendant tout le fonctionnement du système, la corbeille ne conserve qu'une seule instance.

3. Les compteurs de sites Web sont généralement implémentés en mode singleton, sinon ils seront difficiles à synchroniser.

4. Les applications de journal d'application sont généralement implémentées en mode singleton. Cela est généralement dû au fait que le fichier journal partagé est toujours ouvert car il ne peut y avoir qu'une seule instance pour le faire fonctionner, sinon il est difficile d'ajouter le contenu.

5. Lors de la lecture de l'objet de configuration d'une application Web, le mode singleton est généralement utilisé car le fichier de configuration est une ressource partagée.

6. La conception du pool de connexions à la base de données adopte généralement le mode singleton, car la connexion à la base de données est une ressource de base de données. L'objectif principal de l'utilisation de pools de connexions à la base de données dans les systèmes logiciels de base de données est d'éviter la perte d'efficacité causée par l'ouverture ou la fermeture des connexions à la base de données. Cette perte d'efficacité reste très coûteuse, car l'utilisation du mode singleton pour la maintenance peut réduire considérablement cette perte.

7. La conception des pools de threads multithreads adopte généralement le mode singleton, car le pool de threads doit faciliter le contrôle des threads dans le pool.

8. Le système de fichiers du système d'exploitation est également un exemple spécifique de mise en œuvre du grand mode singleton. Un système d'exploitation ne peut avoir qu'un seul système de fichiers.

9. HttpApplication est également une application typique des cas unitaires. Les personnes qui connaissent l'ensemble du cycle de vie des requêtes d'ASP.Net (IIS) doivent savoir que HttpApplication est également un mode singleton. Tous les HttpModules partagent une instance HttpApplication

Pour résumer ce qui précède, il n'est pas difficile de le faire. voir :

Les scénarios d'application en mode Singleton se retrouvent généralement dans les conditions suivantes :

(1) Dans le cas du partage de ressources, évitez les performances ou les pertes causées par les opérations sur les ressources. Comme dans le fichier journal ci-dessus, appliquez la configuration.

(2) Lors du contrôle des ressources, cela facilite la communication entre les ressources. Tels que le pool de threads, etc.

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