Sobes.tech
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!