Sobes.tech
Junior — Middle

Spiega il concetto di pattern Singleton e le sue caratteristiche principali.

sobes.tech AI

Risposta dell'AI

Il pattern Singleton garantisce che una classe abbia una sola istanza e fornisce un punto di accesso globale a questa istanza.

Caratteristiche principali del Singleton:

  • Una sola istanza: la classe controlla la creazione dell'oggetto per evitare più di una.
  • Accessibilità globale: l'istanza è accessibile da qualsiasi parte del programma.
  • Inizializzazione ritardata: l'oggetto viene creato alla prima richiesta (spesso).

Esempio in C#:

public class Singleton
{
    private static Singleton _instance;
    private static readonly object _lock = new object();

    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (_lock)
                {
                    if (_instance == null)
                        _instance = new Singleton();
                }
            }
            return _instance;
        }
    }
}

Questo pattern è utile quando si devono gestire risorse o configurazioni in modo centralizzato, ad esempio per un logger o una configurazione.