Junior
Singleton nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Singleton — bu yaradılış dizayn nümunəsidir ki, bu sinfin yalnız bir nümunəsi olmasını təmin edir və ona qlobal giriş nöqtəsi təqdim edir.
Üstünlüklər:
- Yeganə nümunə üzərində nəzarət.
- Qlobal giriş nöqtəsi.
- Tələbat əsasında başlanğıc (əgər tətbiq olunubsa).
Əksikliklər:
- Yeganə məsuliyyət prinsipini pozur.
- Test etməyi çətinləşdirir.
- Sinxronizasiyasız çox ipli mühitdə problemlər yarada bilər.
Swift-də tipik tətbiq:
class Singleton {
// Yeganə nümunəni saxlamaq üçün statik sabit
static let shared = Singleton()
// Digər nümunələrin yaradılmasını qarşısını almaq üçün xüsusi konstruktor
private init() {
// Əlavə konfiqurasiya, lazım olsa
print("Singleton nümunəsi yaradıldı")
}
// Singleton metod nümunəsi
func doSomething() {
print("Singleton bir şey edir")
}
}
İstifadə:
// Statik xüsusiyyət vasitəsilə yeganə nümunəyə giriş
let instance = Singleton.shared
instance.doSomething()
// Başqa nümunə yaratmağa cəhd etmək tərtib xətasına səbəb olacaq
// let anotherInstance = Singleton() // Xəta!