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();