Sobes.tech
Junior

Ce este un singleton?

sobes.tech AI

Răspuns de la AI

Singleton este un pattern de design creational care garantează că o clasă are o singură instanță și oferă un punct de acces global la aceasta.

Avantaje:

  • Control asupra singurei instanțe.
  • Punct de acces global.
  • Inițializare leneșă (dacă este implementată).

Dezavantaje:

  • Încalcă principiul responsabilității unice.
  • Îngreunează testarea.
  • Poate crea probleme în medii multi-thread fără sincronizare.

Implementare tipică în Swift:

class Singleton {  
    // Constantă statică pentru stocarea singurei instanțe
    static let shared = Singleton()  

    // Constructor privat pentru a preveni crearea altor instanțe
    private init() {  
        // Configurare suplimentară, dacă este necesar  
        print("Instanța singleton creată")  
    }  

    // Exemplu de metodă singleton  
    func doSomething() {  
        print("Singleton face ceva")  
    }  
}  

Utilizare:

// Acces la singura instanță prin proprietatea statică
let instance = Singleton.shared  
instance.doSomething()  
  
// Încercarea de a crea o altă instanță va cauza o eroare de compilare
// let anotherInstance = Singleton() // Eroare!