Sobes.tech
Junior

Co je to vzorec Singleton?

sobes.tech AI

Odpověď od AI

Singleton je návrhový vzor vytvárania, ktorý zaručuje, že v každom momente bude existovať iba jedna inštancia triedy, ktorá bude dostupná globálne. Používa sa na centralizované riadenie zdrojov alebo konfigurácií.

Príklad implementácie v Swift:

 class Singleton {
    static let shared = Singleton() // Statická vlastnosť pre jedinú inštanciu

    private init() { // Súkromný konštruktor, ktorý zabraňuje vytváraniu nových inštancií zvonku
        // Konfigurácia singletonu
    }

    func someMethod() {
        // Logika singletonu
    }
 }

 // Použitie singletonu
 let instance = Singleton.shared
 instance.someMethod()

Výhody:

  • Zaručuje, že existuje iba jedna inštancia.
  • Jednotný prístupový bod k inštancii.

Nevýhody:

  • Môže sťažiť testovanie (ťažko nahradiť mockom).
  • Porušuje princíp jednotnej zodpovednosti (trieda spravuje svoju logiku a správu inštancie).
  • Potenciálne môže spôsobovať problémy s viacvláknovým spracovaním, ak nie je synchronizované.