Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

6
  • 3
    I know Singleton is overused - I've seen people use it in instances where it should not have been used - but it was the first time I heard it referred as an anti-pattern. Since then, I've been googling a little bit and found out quite some people consider it to be an anti-pattern, but I haven't found any acceptable explanation... Dour High Arch: Just google "singleton anti pattern" and you'll find hundreds of articles about it... But I can't find any that really justifies it. Which is why I am asking here. Commented Oct 6, 2012 at 0:13
  • 1
    Dour High Arch: No duplicate. I did find that post. But it doesn't answer: "Why exactly is Singleton considered an anti-pattern? And what are the alternatives?" PS: GG deleting your previous comment. Commented Oct 6, 2012 at 0:15
  • Nice link: ibm.com/developerworks/webservices/library/co-single/index.html Commented Oct 6, 2012 at 0:20
  • If you look at Dour's link, in the comments there is another link to a blog post which does answer the first part of the question pretty well. Also, as for alternatives, the other SO post discusses DI (Dependency Injection). If that doesn't answer your two questions, could you elaborate what you're looking for? Commented Oct 6, 2012 at 0:25
  • See my answer here: michaelsafyan.com/tech/design/patterns/singleton Commented Aug 13, 2015 at 4:49