Qu'est-ce que les singletons ont de si mauvais ?
Le [pattern singleton][1] est un membre à part entière du [GoF][2]'s [patterns book][3], mais il semble dernièrement plutôt orphelin du monde des développeurs. J'utilise encore beaucoup de singletons, en particulier pour les [classes d'usine][4], et bien qu'il faille faire un peu attention aux problèmes de multithreading (comme pour n'importe quelle classe en fait), je ne vois pas pourquoi ils sont si horribles.
Stack Overflow, en particulier, semble supposer que tout le monde est d'accord pour dire que les singletons sont mauvais. Pourquoi ?
Veuillez étayer vos réponses par des "faits, des références ou une expertise spécifique" ;
[1] : https://en.wikipedia.org/wiki/Singleton_pattern [2] : https://en.wikipedia.org/wiki/Design_Patterns [3] : http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612 [4] : https://en.wikipedia.org/wiki/Factory_method_pattern
Voir Wikipedia Singleton_pattern
Références (uniquement les références pertinentes de l'article)
Comme il s'agit essentiellement de variables globales orientées objet, vous pouvez généralement concevoir vos classes de manière à ne pas en avoir besoin.