Sobes.tech
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.