Sobes.tech
Junior — Middle

Co je to vzorec Singleton a jaké jsou jeho výhody a nevýhody, které je třeba zvážit?

sobes.tech AI

Odpověď od AI

Vzor Singleton zajišťuje, že třída má pouze jednu instanci a poskytuje globální přístup k této instanci.

Výhody:

  • Kontrola nad vytvářením jediného objektu.
  • Pohodlný přístup ke sdíleným zdrojům nebo nastavením.

Nevýhody:

  • Může vést k problémům s testováním kvůli globálnímu stavu.
  • Porušuje princip inverze závislostí a může ztížit údržbu.
  • V prostředích s více vlákny vyžaduje dodatečnou synchronizaci.

Příklad v Swift pro iOS:

class Singleton {
    static let shared = Singleton()
    private init() { }

    func doSomething() {
        print("Provádění akce")
    }
}

// Použití
Singleton.shared.doSomething()