PDA

View Full Version : [JAVA] Singleton


diablo...aka...boss
25-06-2009, 18:18
Questo è il singleton del mio esempio
/**
* Metodo per la restituzione del singleton
* @return
*/
public static WhatSuiteSoundManager getInstance() {
if(instance == null) {
instance = new WhatSuiteSoundManager();
}
return instance;
}

public Player getAudioPlayer() {
return audioPlayer;
}


- WhatSuiteSoundManager è la classe principale per gestire la media framework.
- audioPlayer è un oggetto di tipo Player inizializzato a null.
E questo è il singleton preso da un sito di java

public class Singleton
{
private static Singleton istanza;

private Singleton()
{
}

public static Singleton getInstance()
{
if (istanza == null)
{
istanza = new Singleton();
}

return istanza;
}

public void helloWorld()
{
System.out.println("Hello World");
}
}


public class usaSingleton
{
public static void main(String args[])
{
Singleton.getInstance().helloWorld();
}
}

La cosa che non mi torna è che nel primo esempio che ho postato c'è solo l'inizializzazione di getIstance. Non mi sembra possibile, eppure il programma funziona.

qwerty86
25-06-2009, 18:29
La cosa che non mi torna è che nel primo esempio che ho postato c'è solo l'inizializzazione di getIstance. Non mi sembra possibile, eppure il programma funziona.

Cos'altro dovrebbe esserci ?

diablo...aka...boss
25-06-2009, 18:58
private static Singleton istanza; ad esempio?

Per ottenere un singleton non devo dichiarare private il costruttore della classe? E poi utilizzare un metodo statico che consenta di accedere all'unica istanza della classe (che infatti c'è).

diablo...aka...boss
25-06-2009, 19:35
Per ottenere un singleton non devo dichiarare private il costruttore della classe?

Infatti non avevo notato che nell'esempio c'è...
private static WhatSuiteSoundManager instance;
è sopra sopra e non lo vedevo O.o

banryu79
26-06-2009, 09:56
Se ti interessasse approfondire alcune diverse tecniche con cui realizzare un Singleton in Java, con i vari pro e contro ti linko questa pagina (http://www.oodesign.com/singleton-pattern.html).

diablo...aka...boss
26-06-2009, 13:29
Se ti interessasse approfondire alcune diverse tecniche con cui realizzare un Singleton in Java, con i vari pro e contro ti linko questa pagina (http://www.oodesign.com/singleton-pattern.html).

grazie :)