| Author |
Singleton Design Pattern
|
Abu Nene
Ranch Hand
Joined: Nov 13, 2008
Posts: 56
|
|
|
Hi all, in singleton design pattern. We normally have a method call getInstance() which takes in no argument. I'm wondering is it ok to pass in a parameter, for eg. java.sql.Connection to retrieve record from the database?
|
 |
Joanne Neal
Rancher
Joined: Aug 05, 2005
Posts: 3011
|
|
|
You can do anything you want, but the normal purpose of the getInstance() method in a singleton class is to return an instance of the class. You then use that instance to call other methods of the class to do whatever processing you want.
|
Joanne
|
 |
Rob Spoor
Sheriff
Joined: Oct 27, 2005
Posts: 19216
|
|
However, although a bit unusual for Singletons, you could use it to return a single instance for each different parameter value. So each connection can have only one instance. Keep in mind though that at some time you want to clean up or your singleton's cache could keep increasing until you get a memory error.
|
SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
|
 |
Abu Nene
Ranch Hand
Joined: Nov 13, 2008
Posts: 56
|
|
The purpose for this is to have only a single instance for a particular class but using the connection provided by different calling class. Alternatively is there any wrong with a class with static methods which takes in a java.sql.Connection as one of the arguments?
|
 |
 |
|
|
subject: Singleton Design Pattern
|
|
|