Junior — Middle
Singleton deseni nedir ve dikkate alınması gereken avantajları ve dezavantajları nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Singleton Deseni, bir sınıfın yalnızca bir örneği olmasını sağlar ve bu örneğe küresel erişim noktası sunar.
Avantajlar:
- Tekil nesnenin oluşturulması üzerinde kontrol.
- Paylaşılan kaynaklara veya ayarlara erişim kolaylığı.
Dezavantajlar:
- Küresel durum nedeniyle testlerde sorunlara yol açabilir.
- Bağımlılıkların tersine çevrilmesi ilkelerini ihlal eder ve bakımı zorlaştırabilir.
- Çok iş parçacıklı ortamlarda ek senkronizasyon gerektirir.
iOS için Swift örneği:
class Singleton {
static let shared = Singleton()
private init() { }
func doSomething() {
print("Bir işlem gerçekleştiriliyor")
}
}
// Kullanım
Singleton.shared.doSomething()