Junior — Middle
Paaiškinkite Singleton modelio koncepciją ir jo pagrindines savybes.
sobes.tech AI
Atsakymas iš AI
Singleton šablonas užtikrina, kad klasė turės tik vieną egzempliorių ir suteikia globalų prieigos tašką prie šio egzemplioriaus.
Pagrindinės Singleton savybės:
- Tik vienas egzempliorius: klasė kontroliuoja objekto kūrimą, kad jų nebūtų daugiau.
- Globalus prieinamumas: egzempliorius yra pasiekiamas iš bet kurios programos dalies.
- Atidėtas inicializavimas: objektas sukuriamas pirmojo kreipimosi metu (dažnai).
Pavyzdys C#:
public class Singleton
{
private static Singleton _instance;
private static readonly object _lock = new object();
private Singleton() { }
public static Singleton Instance
{
get
{
if (_instance == null)
{
lock (_lock)
{
if (_instance == null)
_instance = new Singleton();
}
}
return _instance;
}
}
}
Šis modelis yra naudingas, kai reikia centralizuotai valdyti išteklius ar konfigūracijas, pvz., žurnalą ar nustatymus.