Cosa è una classe singleton ed a cosa serve?
Ecco un esempio di come implementare un Singleton in Java:
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
public void helloWorld() {
System.out.println("Hello World");
}
}
public class UseSingleton {
public static void main(String[] args) {
Singleton.getInstance().helloWorld();
}
}
Il costruttore della classe Singleton è privato, il che significa che l’unico modo per accedere all’istanza della classe è tramite il metodo statico getInstance(). Se l’istanza non è ancora stata creata, viene creata una nuova istanza della classe e restituita. Se invece l’istanza esiste già, viene semplicemente restituita.
Il Singleton è utile in tutti quei casi in cui è necessario che venga utilizzata una sola istanza di una classe. Questo permette di avere un accesso controllato all’istanza, uno spazio di nomi ridotto e di evitare la dichiarazione di variabili globali. Inoltre, essendo impedita la creazione di nuove istanze, si assicura un basso numero di oggetti utilizzati in condivisione all’interno del programma.

Comments