Sobes.tech
Junior — Middle

Explicați conceptul de pattern Singleton și utilizarea sa în programare.

sobes.tech AI

Răspuns de la AI

Modelul Singleton garantează că o clasă are o singură instanță și oferă un punct de acces global la acea instanță.

Este utilizat atunci când este necesar să controlați accesul la resurse, cum ar fi o bază de date, un logger sau o configurație.

Exemplu în C#:

public class Singleton
{
    private static Singleton _instance;
    private static readonly object _lock = new object();

    // Constructor privat împiedică crearea de instanțe din exterior
    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (_lock)
                {
                    if (_instance == null)
                    {
                        _instance = new Singleton();
                    }
                }
            }
            return _instance;
        }
    }

    public void DoSomething()
    {
        // Logică
    }
}

Această abordare asigură siguranța în medii multi-thread și inițializarea leneșă a instanței.