Possible Duplicate:
What is so bad about Singletons?
I've heard recently that Singleton is an anti-pattern. I know it has to do with the fact making a class singleton is like making that unique instance a global variable, but it's also doing a lot more than that (limiting the number of instances of that object, managing instantiation, etc..).
Why exactly is Singleton considered an anti-pattern? And what are the alternatives?