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

Այս նմուշը օգտակար է, երբ անհրաժեշտ է կենտրոնական կերպով կառավարել ռեսուրսները կամ կարգավորումները, օրինակ՝ լոգեր կամ կոնֆիգուրացիա։