Sobes.tech
Junior

Singleton nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Singleton, tasarım kalıbı olarak, bir sınıfın yalnızca bir örneği olmasını garanti eder ve ona küresel erişim noktası sağlar.

Avantajlar:

  • Tek örneğin kontrolü.
  • Küresel erişim noktası.
  • Tembel başlatma (uygulanmışsa).

Dezavantajlar:

  • Tek sorumluluk ilkesinin ihlali.
  • Testleri zorlaştırır.
  • Senkronizasyon olmadan çok iş parçacıklı ortamda sorunlara yol açabilir.

Swift'te tipik uygulama:

class Singleton {  
    // Tek örneği saklamak için statik sabit
    static let shared = Singleton()  

    // Diğer örneklerin oluşturulmasını engellemek için özel yapıcı
    private init() {  
        // Ek ayarlamalar, gerekirse  
        print("Singleton örneği oluşturuldu")  
    }  

    // Singleton örneği metod örneği  
    func doSomething() {  
        print("Singleton bir şeyler yapıyor")  
    }  
}  

Kullanım:

// Statik özellik aracılığıyla tek örneğe erişim
let instance = Singleton.shared  
instance.doSomething()  
  
// Başka bir örnek oluşturmaya çalışmak derleme hatasına yol açar
// let anotherInstance = Singleton() // Hata!