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;
        }
    }
}

Бул үлгү ресурстарды же конфигурацияларды борборлоштурулган түрдө башкаруу керек болгондо пайдалуу, мисалы, логгер же конфигурация үчүн.