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