Sobes.tech
Junior — Middle

консепти паттерни Singleton ва хусусиятҳои асосии онро шарҳ диҳед.

sobes.tech AI

Ҷавоб аз AI

Наслолйо Singleton гарантирай, ки як синф танҳо як намуна дошта бошад ва дастрасии глобалӣ ба он намуна таъмин кунад.

Асосии хусусиятҳои Singleton:

  • Яке намуна: синф назорат мекунад, ки чӣ гуна объект сохта мешавад, то ки зиёдатӣ набошад.
  • Дастрасии глобалӣ: намуна аз ҳар ҷост дар барнома дастрас аст.
  • Инициализатсияи дер: объект дар аввалин муроҷиат (одатан) сохта мешавад.

Масалан дар 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;
        }
    }
}

Ин модел барои идоракунии захираҳо ё танзимотҳо дар маркази диққат, масалан, барои логгер ё конфигуратсия, муфид аст.