Junior — Middle
Wyjaśnij koncepcję wzorca Singleton i jego główne cechy.
sobes.tech AI
Odpowiedź od AI
Wzorzec Singleton zapewnia, że klasa ma tylko jedną instancję i udostępnia globalny punkt dostępu do tej instancji.
Główne cechy Singletona:
- Tylko jedna instancja: klasa kontroluje tworzenie obiektu, aby nie było więcej niż jedna.
- Dostępność globalna: instancja jest dostępna z dowolnej części programu.
- Opóźniona inicjalizacja: obiekt jest tworzony przy pierwszym odwołaniu (często).
Przykład w 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;
}
}
}
Ten wzorzec jest przydatny, gdy trzeba zarządzać zasobami lub ustawieniami w sposób scentralizowany, np. dla loggera lub konfiguracji.