Posted: December 8th, 2011, 11:00am MST
Even though they look relatively harmless on the surface, when analyzed in depth, Singletons are in fact much more dangerous to good object-oriented programming design than one might think. Implementing Singletons, remember, demands the use of a static method, which opens the undesirable gates of global access. Singletons also introduce a strong coupling effect with any class that consumes them via its static method. They also break the Single Responsibility Principle, as they're not only responsible for performing the task that they were designed for (whatever it is), but for controlling clas...