Modèle de conception Singleton vs haricots Singleton dans un conteneur Spring
Question :
Dans un printemps application, étant donné que les beans sont des singletons par défaut, est-il judicieux d'implémenter le modèle de conception Singleton séparément pour gérer les données globales, ou l'utilisation de beans Spring est-elle suffisante à cette fin ?
Réponse :
Un bean singleton Spring et le modèle de conception Singleton sont des concepts distincts. Le modèle de conception Singleton garantit qu'une classe n'a qu'une seule instance dans tous les chargeurs de classe, tandis que les singletons Spring ont une portée plus étroite.
Haricots Spring Singleton
Les beans Spring Singleton ont un Portée « par conteneur et par bean », ce qui signifie qu'une seule instance d'un bean est créée pour chaque conteneur Spring IoC. Bien que ce comportement imite le modèle de conception Singleton, il n'est pas équivalent.
Modèle de conception Singleton
Le modèle de conception Singleton applique une seule instance globale pour une classe. Ceci est généralement implémenté à l'aide de variables statiques ou d'une méthode d'usine qui garantit la création d'une seule instance.
Comparaison
Cas d'utilisation
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!