Singleton bir anti-kalıp mı?
Burada size hikayeyi kısaca anlatacağım.
Singleton nedir?
singleton kalıbı, tüm uygulamada belirli bir sınıftan bir örneğe sahip olmanın ve buna tek erişim noktası sağlamanın bir yoludur.
Singleton nasıl yazılır ?
örnek:
final class Logs {
static let shared = Logs()
private init() {}
func printLog(_ log:String) {
print("here we do: ===\(log)===")
}
}
Bu singleton'u programın herhangi bir yerinden kullanabiliriz çünkü günlükleri uygulamanın içindeki her yerde aynı formatı kullanarak yazdırmamız gerekir.
Logs.shared.printLog("inside ViewModel and loading some feeds")
URLSession.shared
UserDefaults.standart
Singleton test edilebilir mi?
Aslında, Hayır, kullanmazsanız bu değişikliği yapın:
Global Mutable Shared State : yani statik var örneğini, public init'i kullanacaksınız .
İyi ama tehlikeleri' çünkü birden fazla iş parçacığından değiştirebilirsiniz.
Singleton'u nerede kullanabilirim?
önceki örnekte gördüğümüz gibi mesajları konsola kaydeden sınıf ile.
Singleton'a Mantık nasıl eklenir?
Uzantılar
Alt Sınıflar
Üçüncü taraf çerçevesinden singleton nasıl işlenir?
protokol / kapatma (arayüz) kullanarak bağımlılık tersini kullanma.
Singletons tamam olabilir. Ancak dikkatli olmazsanız, bunlar sadece bir anti-desen değildir. TEHLİKELİ OLABİLİRLER!

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































