Sobes.tech
Junior — Middle

Cos'è il pattern Singleton e quali sono i suoi vantaggi e svantaggi da considerare?

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.

Vantaggi:

  • Controllo sulla creazione dell'unico oggetto.
  • Comodità di accesso a risorse o configurazioni condivise.

Svantaggi:

  • Può causare problemi di test a causa dello stato globale.
  • Violazione dei principi di inversione delle dipendenze e può complicare la manutenzione.
  • In ambienti multithread, richiede sincronizzazione aggiuntiva.

Esempio in Swift per iOS:

class Singleton {
    static let shared = Singleton()
    private init() { }

    func doSomething() {
        print("Esecuzione di un'azione")
    }
}

// Uso
Singleton.shared.doSomething()