Sobes.tech
Junior

Singleton деген эмне?

sobes.tech AI

AIден жооп

Singleton — бул түзүү үлгүсү, ал класстын гана бир экземпляри болуусун камсыздайт жана ага глобалдуу кирүү чекитин камсыздайт.

Артыкчылыктары:

  • Бир гана экземплярды көзөмөлдөө.
  • Глобалдуу кирүү чекити.
  • Кечиккен баштоо (эгер ишке ашырылса).

Кемчиликтери:

  • Жалгыз жоопкерчилик принцибин бузуу.
  • Тестирлөөнү кыйындатат.
  • Синхрондоштуруу жок көп иштөө чөйрөлөрүндө көйгөйлөрдү жаратышы мүмкүн.

Swiftте типтүү ишке ашыруу:

class Singleton {  
    // Бир гана экземплярды сактоо үчүн статикалык туруктуу
    static let shared = Singleton()  

    // Башка экземплярларды түзүүнү алдын алуу үчүн жеке конструктор
    private init() {  
        // кошумча конфигурация, керек болсо  
        print("Singleton экземпляри түзүлдү")  
    }  

    // Singleton мисалынын методу  
    func doSomething() {  
        print("Singleton бир нерсе кылып жатат")  
    }  
}  

Колдонуу:

// Статикалык мүчө аркылуу жалгыз экземплярга кирүү
let instance = Singleton.shared  
instance.doSomething()  
  
// Башка экземпляр түзүүгө аракет кылаардан мурун ката чыгат
// let anotherInstance = Singleton() // Ката!