|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
"Статик" Vs. экземпляр-"одиночка"
Друзья! В своё время спрашивал на счёт статических констант, теперь похожий вопрос возник на более высоком методическом уровне, как раз на счёт методов. Про это тоже как-то речь заходила, но давно и мельком. Так что заострю внимание.
Есть классы, которые хранят универсальные методы, не привязанные к конкретным экземплярам. Например, класс-создатель тултипов или класс, выдающий лэйблы кнопок на нужном языке по ID фразы. Поскольку работу над проектом я начинал, ваще ни фига не разбираясь, многие куски кода я заимствовал (назовём это так), очень слабо понимая нюансы их работы. По итогу подобные классы у меня оказались реализованными двумя разными способами: Первый - это "статики". Все переменные - static, Все методы - static. Тут всё просто. Для использования где бы то ни было импортируем класс и обращаемся к любому static public-у. Второй вариант - это экземпляр-"одиночка". Это не 1-в-1 навороченный GoF синглтон, но смысл тот же. Вот например мои тултипы: public class Tooltips private static var _instance: Tooltips; public function Tooltips() { if (_instance != null) { throw("Error: Tooltip-менеджер уже существует. Используйте Tooltips.getInstance()"); } _instance = this; } public static function getInstance() : Tooltips { return (_instance == null) ? new Tooltips() : _instance; } и дальше работаем с константным указателем, дёргая его паблики. Вопрос, в чём особенности и преимущества/недостатки каждого из подходов? Спасибо.
__________________
Не сломано - не чини! |
Часовой пояс GMT +4, время: 22:50. |
|
« Предыдущая тема | Следующая тема » |
|
|