|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Цитата:
И ещё вопрос по теме для всех. Какой кайф создавать синглтоны и инстансы, когда можно обращаться непосредственно к паблик методам статического класса из любого места программы? Что мешает написать 'Имя класса'.'имя публичного статического метода'() и получить всё, что нужно? |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
статичный класс будет жить все время, пока работает приложение, а синглтоны можно создавать и удалять когда угодно.
Цитата:
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Класс не может диспатчить события.
__________________
Reality.getBounds(this); |
|
|||||
Цитата:
Если дополнить конструктор вот так: То будет уже лучше
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Это как раз приватизация конструктора так сказать)
кайф, чтобы у тебя был объектик.=) Так и на сердце спокойней, и диспатчить можно из него, и интерфейсы применять к нему, и удалять. И в целом приятнее. Добавлено через 2 минуты caseyryan пожалуй! Хотя кем жеж это надо быть, чтобы изнутри этого класса пытаться создавать множество инстансов)) Эдак себя бить себя по рукам постоянно надо. ) А извне то все равно больше одного не создашь.
__________________
while(live()) { hope(); } |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
в чем смысл наличия флага isConstructing?
|
|
|||||
Цитата:
В конструкторе стоит её проверка, которая выдает ошибку при попытке создать экземпляр класса public function MySingleton() { if (!_isConstructing) throw new Error("Singleton, use MySingleton.instance"); } причем данная операция выполняется только если переменная _instance не определена, если же экземпляр уже был создан, т1о мы просто возвращаем его, не трогая переменную _isConstructing, которая по прежнему, пребывая в false, ограничивает создание экземпляра данного класса извне.
__________________
while(live()) { hope(); } |
|
|||||
Если в описаний класса указано что он - синглтон, а кто-то всё равно пытается использовать его как-то иначе, то этому человеку уже ничего не поможет..
Я просто хочу сказать, что "защита от дурака" должна быть уместна. Она должна быть только там, где действительно может быть допущена ошибка. Реальная, а не гипотетическая.
__________________
Дети не должны знать о своих родителях |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Цитата:
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
обычно делают так: и никакие флаги не нужны Последний раз редактировалось undefined; 27.11.2017 в 18:35. |
Часовой пояс GMT +4, время: 01:45. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|