Singleton Design Pattern in Java
Il design pattern Singleton è il primo design pattern in cui si si imbatte, ed è molto importante anche perché aiuta a comprendere meglio i linguaggi OOP.
Potete trovare un'ottima introduzione presso Wikipedia, dove leggiamo:
Il metodo più semplice per implementare questo pattern è quello di rendere privato il costruttore della classe impedendone così l'istanziazione diretta, e nello stesso tempo fornire un metodo getter statico che restituisca ogni volta la stessa, unica, istanzaEcco un esempio in Java:
public class MioSingolo { private static MioSingolo istanza = null;Ecco lo stesso esempio thread safe...private MioSingolo() {} public static MioSingolo getMioSingolo() { if (istanza == null) { istanza = new MioSingolo(); } return istanza; }
}
public class MioSingolo { private static MioSingolo istanza = null; private MioSingolo() {} public static synchronized MioSingolo getMioSingolo() { if (istanza == null) { istanza = new MioSingolo(); } return istanza; } }
Riferimenti
- Circa i design pattern
- Per approfondire, fare riferimento anche al Portland Pattern Repository, che però in quanto a chiarezza non è il massimo.