Les singletons sont souvent considérés comme un mauvais choix de conception, alors comment concevoir une application si vous voulez les éviter?Remplacer les singletons avec quoi?
Répondre
vous pouvez utiliser des concepts tels Dependency Injection pour injecter les services dont vous dépendez (essentiellement les singletons que vous utilisez) pour vous, au lieu de fournir une référence mondiale pour les
En particulier, les frameworks DI peuvent simplifier une grande partie du câblage requis, fournissant la commodité d'un singleton, mais avec une meilleure isolation et la possibilité de s'étendre à plusieurs instances dans le futur, si nécessaire. –
Mes 2 cents.
Concevez simplement votre application de telle manière que cela n'a pas d'importance si elle est passée à votre objet ou non. Considérez si vous avez MySingleton.Instance à l'intérieur -> qui semble mauvais et vous êtes étroitement couplé avec cela. Si vous avez passé MySignleton en tant que paramètre dans une méthode et qu'il est instancié à l'extérieur en tant que MySingleton.Instance ou nouveau MySingleton() -> eh bien, je peux encore me moquer ou le changer afin que cela n'a pas vraiment d'importance.
- 1. Avec quoi dois-je remplacer ce code?
- 2. Tests unitaires avec des singletons
- 3. Boost singletons
- 4. Java: Conception avec Singletons et génériques
- 5. Utilisation de static dans les singletons Java?
- 6. Singletons dans les services Web ou WCF
- 7. singletons et ASP.NET MVC
- 8. Tomcat, Singletons, & ServerContextListener
- 9. Spring + Thread safe singletons
- 10. Destructeur de singletons
- 11. différentes façons d'initialiser singletons
- 12. quoi faire avec les résultats d'openid?
- 13. Libération Objective-C de singletons
- 14. Spring .NET, WCF et Singletons
- 15. Meilleures pratiques pour les singletons et les notifications sur l'iPhone
- 16. Messagerie large application ... sans singletons?
- 17. PHP et singletons à nouveau
- 18. StructureMap singletons variant par argument?
- 19. singletons Google App Engine (Python)
- 20. Extension de singletons en PHP
- 21. À quoi ressemblerait un script à remplacer par/avec de nombreux fichiers?
- 22. Solution de migration pour les singletons dans un environnement OSGI
- 23. Obtenir plusieurs singletons de même type
- 24. Remplacer textfields avec les champs déroulants sélectionnez
- 25. QString remplacer les URL avec des liens
- 26. Remplacer tous les divs avec la valeur
- 27. Comment remplacer les chaînes avec javascript?
- 28. Remplacer les étiquettes UL avec classe spécifique
- 29. Gestion de la mémoire de l'iPhone avec les propriétés des singletons
- 30. Est-ce que les Webservices en tant que singletons peuvent causer des problèmes avec différents utilisateurs?
Ils ont leurs utilisations, mais comme tout ce que vous devez savoir quand les utiliser. Je dirais qu'ils pourraient faire partie d'un mauvais choix de mise en œuvre plutôt que d'un mauvais choix de conception. –
Consultez cet article: [http://www.ibm.com/developerworks/webservices/library/co-single.html](http://www.ibm.com/developerworks/webservices/library/co-single.html – pierocampanelli