@leopardo11

Можете ответить на пару вопросов по шаблону Singleton?

Как я знаю, этот паттерн применяется для того, чтобы каждый раз не создавать экземпляр класса. Но я пока не представляю, как применять его на практике.
Например, я создал класс со всеми нужными методами, например для работы с БД. Я могу применить в нем singleton и могу уже не делать вот так $db = new dataBase(); в файлах, где мне нужно, а просто вызываю
$db =singletonTest::getInstance();

И начинаю работать с методами?

class SingletonTest
{

	protected static $_instance;
	
	private function __construct()
	{
	}
	private function __clone()
	{
	}

	public static function getInstance() {

		if (null === self::$_instance) {

			self::$_instance = new self();
		}

		return self::$_instance;
	}
}
  • Вопрос задан
  • 327 просмотров
Пригласить эксперта
Ответы на вопрос 3
SvetlyiAkaPro
@SvetlyiAkaPro
Вообще он нужен не чтобы каждый раз не создавать экземпляр класса, а чтобы во всем приложении был только один экземпляр класса. Тут получше написано. Или лучше взять книжку "Приемы объектно-ориентированного проектирования"
Ответ написан
Комментировать
He11ion
@He11ion
PHP-monkey
Имхо есть очень простое правило - пока тебе не ясно, зачем нужен конкретный паттерн - он тебе не нужен. Паттерны - это не скрижали и не маст хэв, это просто набор удачных рецептов. А так - да, в вопросе уже есть весь ответ.
Ответ написан
Комментировать
@1Rockman
этот паттерн применяется для того, чтобы каждый раз не создавать экземпляр класс


Не так, экземпляр этого класса создается всего 1 раз и в любой части вашего приложения это один и тот же объект.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы