İçeriğe geç

Singleton Pattern

Merhabalar bu yazımda İOS tasarım kalıplarından Singleton kalıbı nedir ve nasıl kullanırız hakkında bilgi vereceğim.

Bir önceki yazımda bir çok yazılım tasarım kalıbı olduğuna ve bunların neler olduğuna kısaca değinmiştim. Bunlardan en çok bilinen kalıplardan olan Singleton kalıbını paylaşacağım.

Singleton yapısı sürekli olarak nesne üretip değişken üzerinden erişmek değilde, sınıf içerisinde static bir değişken ile diğer tüm sınıf içerisinde yapılara erişip kullanmak amaçlanır.

İOS kütüphanelerinden UserDefaults ,SKPaymentQueue ,NSNotificationCenter ,FileManager ,URLSession gibi çok önemli sınıflar bu yapıyı kullanmaktadır.

Aşağıda yapının kullanımına dair verdiğim örneği inceleyebilirsiniz.

class Singleton {
    
    
    static var shared = Singleton()
    
    
    private init() {
        // setup codes
        
        viewSetup()
        
    }
    
    func viewSetup() {
        //
        print("ok...")
    }
    
    
}


var obj = Singleton.shared

Burada önemli nokta init fonksiyonları private olmak zorunda ve initler static değişken olan share’de bağlı olduğu için otomatik olarak çalışacaktır.

Oluşturmak istediğiniz sınıf modelinize göre bu yapıyı kullanabilirsiniz. Sürekli olarak modeller için bu yapıyı kullanmak doğru değildir ve tavsiye edilmez.

 

 

 

Tarih:Design PatternsiOS

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca