Sobes.tech
Junior — Middle

Explicați conceptul de pattern Singleton și caracteristicile sale principale.

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ță.

Caracteristici principale ale Singleton-ului:

  • O singură instanță: clasa controlează crearea obiectului pentru a evita mai multe.
  • Accesibilitate globală: instanța este disponibilă din orice parte a programului.
  • Inițializare întârziată: obiectul este creat la prima solicitare (adesea).

Exemplu în 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;
        }
    }
}

Acest pattern este util atunci când trebuie gestionate resurse sau configurații în mod centralizat, de exemplu, pentru un jurnal sau o configurație.