[quote=“marcoscorso”]segue um exemplo de singleton que copiei do livro do deitel 4º edição :
public final class Singleton {
private static Singleton singleton ;
private Singleton() {
System.err.println("teste 1");
}
public static Singleton getSingletonInstance() {
if ( singleton == null ) singleton = new Singleton();
return singleton;
}
}
public final class SingletonExample {
public static void main( String args[] ) {
Singleton firstSingleton;
Singleton secondSingleton;
firstSingleton = Singleton.getSingletonInstance();
secondSingleton = Singleton.getSingletonInstance();
if ( firstSingleton == secondSingleton ) System.out.println("teste 2");
}
}
como faco agora para colocar a minha classe de conexao com o postgres neste singleton ?
e como fazer a chamada desta nas minhas classes ??[/quote]
Cara,
Singleton, eh um Pattern, uma padrão de projeto, a idéia do Singleton é a mesma do HighLander: “Só pode haver um”.
Vc tem q adaptar sua classe para esse padrão, e não criar outra classe.
1)Crie um contrutor privado para sua classe, evitando q ela possa ser instanciada a vontade.
2)Implemente um método getInstance(), através dele será obtido o objeto desejado.
3)Mantenha uma referencia a um objeto da propria classe. Ex:
public class Teste {
private Teste t;
private Teste() {
}
public static Teste getInstance() {
if ( t == null )
t = new Teste();
return t;
}
}
A idéia é mais ou menos essa, dessa forma, vc sempre terá apenas uma instancia do Objeto teste, independente do local da aplicação.
Creio que seja isso, qualquer dúvida avise.