Sobes.tech
Junior

რა არის სინგლტონი?

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() // Սխալ!