Sobes.tech
Junior

Mi az a singleton?

sobes.tech MI

Válasz az MI-től

A Singleton egy létrehozási mintázat, amely garantálja, hogy egy osztálynak csak egy példánya legyen, és globális hozzáférési pontot biztosít hozzá.

Előnyök:

  • Az egyetlen példány ellenőrzése.
  • Globális hozzáférési pont.
  • Lusta inicializálás (ha megvalósították).

Hátrányok:

  • Megszegi az egyedi felelősség elvét.
  • Nehezíti a tesztelést.
  • Problémákat okozhat több szálú környezetben szinkronizálás nélkül.

Tipikus Swift implementáció:

class Singleton {  
    // Statikus állandó az egyetlen példány tárolására
    static let shared = Singleton()  

    // Privát konstruktor más példányok létrehozásának megakadályozására
    private init() {  
        // További konfiguráció, ha szükséges  
        print("Singleton példány létrehozva")  
    }  

    // Példa singleton metódus  
    func doSomething() {  
        print("A Singleton csinál valamit")  
    }  
}  

Használat:

// A csak egy példányhoz való hozzáférés a statikus tulajdonságon keresztül
let instance = Singleton.shared  
instance.doSomething()  
  
// Egy másik példány létrehozásának kísérlete fordítási hibát okoz
// let anotherInstance = Singleton() // Hiba!