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