Sobes.tech
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()