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!