Junior
Cos'è un singleton?
sobes.tech AI
Risposta dell'AI
Il singleton è un pattern creazionale che garantisce che una classe abbia una sola istanza e fornisce un punto di accesso globale ad essa.
Vantaggi:
- Controllo sull'unica istanza.
- Punto di accesso globale.
- Inizializzazione pigra (se implementata).
Svantaggi:
- Violazione del principio di responsabilità singola.
- Rende difficile il testing.
- Può creare problemi in ambienti multithread senza sincronizzazione.
Implementazione tipica in Swift:
class Singleton {
// Costante statica per memorizzare l'unica istanza
static let shared = Singleton()
// Costruttore privato per impedire la creazione di altre istanze
private init() {
// Configurazione aggiuntiva, se necessaria
print("Istanza singleton creata")
}
// Esempio di metodo singleton
func doSomething() {
print("Il singleton sta facendo qualcosa")
}
}
Utilizzo:
// Accesso all'unica istanza tramite proprietà statica
let instance = Singleton.shared
instance.doSomething()
// Tentare di creare un'altra istanza causerà un errore di compilazione
// let anotherInstance = Singleton() // Errore!