Singleton adalah anti-pola?
disini saya akan menceritakan kisahnya secara singkat.
Apa itu Lajang?
pola tunggal adalah cara Anda akan memiliki satu instance dari kelas tertentu di seluruh aplikasi dan memberikan satu titik akses ke sana.
Bagaimana cara menulis tunggal?
contoh:
final class Logs {
static let shared = Logs()
private init() {}
func printLog(_ log:String) {
print("here we do: ===\(log)===")
}
}
kita dapat menggunakan singleton ini dari mana saja dalam program karena kita perlu mencetak log di mana saja di dalam aplikasi menggunakan format yang sama.
Logs.shared.printLog("inside ViewModel and loading some feeds")
URLSession.dibagikan
UserDefaults.standard
apakah Singleton dapat diuji?
Sebenarnya, No if you don't use do this change :
Global Mutable Shared State : jadi Anda akan menggunakan static var instance , public init.
Bagus tapi berbahaya karena Anda dapat mengubahnya dari lebih dari satu utas.
Di mana saya dapat menggunakan Singleton?
dengan kelas yang mencatat pesan ke konsol seperti yang kita lihat pada contoh sebelumnya.
Bagaimana cara menambahkan Logika ke Singleton?
Ekstensi
SubClass
Bagaimana cara menangani singleton dari framework pihak ketiga?
menggunakan inversi ketergantungan menggunakan protokol / penutupan (antarmuka).
Lajang bisa baik-baik saja. Tetapi jika Anda tidak berhati-hati, mereka bukan hanya anti-pola. MEREKA DAPAT BERBAHAYA!

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































