Junior — Middle
Izskaidrojiet Singleton modeļa koncepciju un tā galvenās īpašības.
sobes.tech AI
Atbilde no AI
Singleton paraugs nodrošina, ka klasei ir ir tikai viena eksemplāra, un nodrošina globālu piekļuves punktu šim eksemplāram. Tas ir noderīgi, kad nepieciešams centralizēti pārvaldīt stāvokli vai resursus, piemēram, strādājot ar lietotnes iestatījumiem vai datu bāzes pārvaldnieku.
Galvenās Singleton īpašības:
- Tikai viens eksemplārs: klase kontrolē objekta izveidi un neļauj izveidot vairāk nekā vienu.
- Globāla pieejamība: eksemplārs ir pieejams no jebkuras programmas daļas, izmantojot statisku metodi vai īpašību.
- Lazy inicializācija: objekts tiek izveidots pie pirmās piekļuves (lazy initialization).
Dart (Flutter) valodā piemērs Singleton realizācijai:
class Singleton {
Singleton._privateConstructor();
static final Singleton _instance = Singleton._privateConstructor();
factory Singleton() {
return _instance;
}
void someMethod() {
print('Singleton metodes izsaukums');
}
}
void main() {
var s1 = Singleton();
var s2 = Singleton();
print(identical(s1, s2)); // true
}
Šeit konstruktor ir privāts, un piekļuve eksemplāram notiek caur fabrikas konstruktoru, kas vienmēr atgriež to pašu objektu.