title: Why is Singleton considered an anti-pattern?
body: <blockquote>
  <p><strong>Possible Duplicate:</strong><br />
  <a href="https://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons">What is so bad about Singletons?</a></p>
  <p><a href="https://stackoverflow.com/questions/1448393/singleton-design-pattern-pitfalls">Singleton Design Pattern: Pitfalls</a></p>
  <p><a href="https://stackoverflow.com/questions/12075993/singleton-anti-pattern">Singleton anti-pattern</a></p>
  </blockquote>
  
  <p>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..).</p>
  <p>Why exactly is Singleton considered an anti-pattern? And what are the alternatives?</p>