Back to questions
Junior — Middle
89
Будет ли работать паттерн Singleton, если он уже был инициализирован ранее?
Answer from AI
sobes.tech AI
Паттерн Singleton гарантирует, что класс имеет только один экземпляр, и предоставляет глобальную точку доступа к нему. Если Singleton уже был инициализирован ранее, то при последующих вызовах получения экземпляра будет возвращён именно этот уже созданный объект, а не создаётся новый.
Таким образом, паттерн Singleton продолжит работать корректно, обеспечивая единственность экземпляра на протяжении всего времени работы приложения.
Пример на PHP:
class Singleton {
private static $instance = null;
private function __construct() {
// приватный конструктор
}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
$first = Singleton::getInstance();
$second = Singleton::getInstance();
var_dump($first === $second); // bool(true)