Junior — Middle
Čo je vzorec Singleton a aké sú jeho výhody a nevýhody, ktoré je potrebné zvážiť?
sobes.tech AI
Odpoveď od AI
Vzor Singleton zaručuje, da ima razred le eno instanco in zagotavlja globalni dostop do te instance.
Prednosti:
- Nadzor nad ustvarjanjem edinstvenega objekta.
- Udoben dostop do skupnih virov ali nastavitev.
Slabosti:
- Lahko povzroči težave pri testiranju zaradi globalnega stanja.
- Krši načela obrnjenega odvisnosti in lahko oteži vzdrževanje.
- V večnitnih okoljih zahteva dodatno sinhronizacijo.
Primer v Swift za iOS:
class Singleton {
static let shared = Singleton()
private init() { }
func doSomething() {
print("Izvajanje dejanja")
}
}
// Uporaba
Singleton.shared.doSomething()