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, istanza

Ecco un esempio in Java:

public class MioSingolo {
    private static MioSingolo istanza = null;

    private MioSingolo() {}

    public static MioSingolo getMioSingolo() {
        if (istanza == null) {
            istanza = new MioSingolo();
        }
        return istanza;
    }
}

Ecco lo stesso esempio thread safe…

public class MioSingolo {
    private static MioSingolo istanza = null;

    private MioSingolo() {}

    public static synchronized MioSingolo getMioSingolo() {
        if (istanza == null) {
            istanza = new MioSingolo();
        }
        return istanza;
    }
}

Riferimenti

Related posts:

  1. Percorso Formativo Completo Programma suggerito del percorso formativo: Object Oriented Programming (OOP) & Java Hollywood Principle, “don’t call us, we’ll call you”. Struts...
  2. Formazione: Modulo Java Basic Modulo1: Java, algoritmi e strutture dati di base. Introduzione alle collezioni In particolare Map, TreeMap, ArrayList, Set, tutte del package...
  3. Java Servlet & EJB La seguente documentazione traccia un percorso formativo sintetico per apprendere la specifica J2EE 5. Si parte dalle Servlet e dalle...