Sobes.tech
Junior — Middle

Mis on Singleton mustri peamine eesmärk ja millal seda rakendatakse?

sobes.tech AI

Vastus AI-lt

Singleton muster tagab, et klassil on ainult üks eksemplar ja pakub sellele globaalse juurdepääsu punkti. See on kasulik, kui on vaja kontrollida juurdepääsu ressurssile, näiteks andmebaasile, rakenduse seadistustele või logijale.

Singleton rakendatakse, kui:

  • On vaja piirata objektide loomist ühe eksemplariga.
  • Vajadus on tsentraliseeritud oleku või ressursside kontrolli järele.
  • On vaja tagada globaalse juurdepääsu objektile ilma seda parameetrina edastamata.

PHP näide:

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

    private function __construct() {
        // privaatne konstruktor
    }

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

// Kasutamine
$instance = Singleton::getInstance();