Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Singleton vs static methods

 
john sal
Ranch Hand
Posts: 94
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I would like to know about pros n cons of Singleton and class with static methods and where to use what?

Also, What I could find is, Singleton should be used where we want to have some state associated, but with static methods too, we can have static variables to keep the state as with singleton also only one instance is involved?

Thanks,
Sunila
 
Madhan Sundararajan Devaki
Ranch Hand
Posts: 312
Java MS IE
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Singleton pattern ensures that others get hold of a single instance of an entity.

Static pattern, though is maintained as a single copy in JVM, could result in concurrency issues (when used in replication/fault-tolerant scenarios), if data members are also accessible or they manipulate external resources (such as files, databases etc...).
 
Tim Holloway
Saloon Keeper
Pie
Posts: 17627
39
Android Eclipse IDE Linux
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In terms of practical experience - as opposed to theory - I've usually regretted using static methods. Sooner or later, I tend to end up with a situation where the bean in question needs to maintain state and the state isn't global. It's fairly easy to convert singletons to non-singleton objects, but converting static stateless to non-singleton stateful objects can be a right royal pain.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic