Junior — Middle
Mi az Singleton minta, és milyen előnyeit és hátrányait kell figyelembe venni?
sobes.tech MI
Válasz az MI-től
A Singleton minta garantálja, hogy egy osztálynak csak egy példánya legyen, és globális hozzáférést biztosít ehhez a példányhoz.
Előnyök:
- Ellenőrzés az egyetlen objektum létrehozása felett.
- Kényelmes hozzáférés a közös erőforrásokhoz vagy beállításokhoz.
Hátrányok:
- Problémákhoz vezethet a tesztelés során a globális állapot miatt.
- Megszegi a függőségek invertálásának elveit, és megnehezítheti a karbantartást.
- Többszálas környezetben további szinkronizációt igényel.
Swift példakód iOS-hez:
class Singleton {
static let shared = Singleton()
private init() { }
func doSomething() {
print("Művelet végrehajtása")
}
}
// Használat
Singleton.shared.doSomething()