Sobes.tech
Junior — Middle

Ի՞նչ է հիմնական նպատակը Singleton ձևանմուշի և ինչ դեպքերում է այն կիրառվում:

sobes.tech AI

Պատասխան AI-ից

Singleton նմուշը ապահովում է, որ դասի միայն մեկ օրինակ լինի և տրամադրում է այդ օրինակին գլոբալ մուտք։ Սա օգտակար է, երբ անհրաժեշտ է վերահսկել մուտքը ինչ-որ ռեսուրսի, օրինակ՝ տվյալների բազայի, հավելվածի կարգավորումների կամ լոգգերի։

Singleton-ը կիրառվում է, երբ՝

  • Պետք է սահմանափակել օբյեկտների ստեղծումը միայն մեկ օրինակով։
  • Կենտրոնական վերահսկողություն է անհրաժեշտ վիճակի կամ ռեսուրսների վրա։
  • Պետք է ապահովել գլոբալ մուտք օբյեկտին առանց այն փոխանցելու որպես պարամետր։

PHP-ում օրինակ՝

class Singleton {
    private static ?Singleton $instance = null;

    private function __construct() {
        // մասնավոր կոնստրուկտոր
    }

    public static function getInstance(): Singleton {
        if (self::$instance === null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
}

// Օգտագործում
$instance = Singleton::getInstance();