Sobes.tech
Junior — Middle

Ի՞նչ է ծրագրային ճարտարապետությունում Singleton դիզայնի նմուշի նպատակը։

sobes.tech AI

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

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

Սինգլթոնի հիմնական հատկանիշները՝

  • Համոզված լինել, որ կա միայն մեկ օրինակ։
  • Գլոբալ մուտքի կետ տրամադրել այդ օրինակին։

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

    public function doSomething() {
        echo "Կատարման գործողություն";
    }
}

// Օգտագործում
$singleton = Singleton::getInstance();
$singleton->doSomething();

Այսպիսով, Սինգլթոնը օգնում է վերահսկել օբյեկտների ստեղծումը և կանխել ռեսուրսների կրկնօրինակը։