Junior — Middle
Ներկայացրեք Singleton ձևանմուշի գաղափարը և դրա հիմնական առանձնահատկությունները։
sobes.tech AI
Պատասխան AI-ից
Singleton մոդելը երաշխավորում է, որ դասը ունենա միայն մեկ օրինակ և տրամադրում է այդ օրինակին գլոբալ մուտք։ Սա օգտակար է, երբ անհրաժեշտ է կենտրոնական կառավարում վիճակի կամ ռեսուրսների, օրինակ՝ հավելվածի կարգավորումների կամ տվյալների բազայի մենեջերի հետ աշխատելիս:
Singleton-ի հիմնական առանձնահատկությունները՝
- Միայն մեկ օրինակ: դասը վերահսկում է օբյեկտի ստեղծումը և թույլ չի տալիս ավելին ստեղծել:
- Գլոբալ հասանելիություն: օրինակն հասանելի է ծրագրի ցանկացած մասից՝ ստատիկ մեթոդ կամ հատկության միջոցով:
- Կուշտ սկզբնականացում: օբյեկտը ստեղծվում է առաջին դիմումի ժամանակ (lazy initialization):
Dart (Flutter) լեզվում Singleton-ի իրականացման օրինակ՝
class Singleton {
Singleton._privateConstructor();
static final Singleton _instance = Singleton._privateConstructor();
factory Singleton() {
return _instance;
}
void someMethod() {
print('Singleton մեթոդի կանչ');
}
}
void main() {
var s1 = Singleton();
var s2 = Singleton();
print(identical(s1, s2)); // true
}
Այստեղ կոնստրուկտորը մասնավոր է, և մուտքը օրինակին կատարվում է ֆաբրիկային կոնստրուկտորով, որը միշտ վերադարձնում է նույն օբյեկտը։