|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
|
Singleton VS static const
Недавно мне был задан вопрос о различиях шаблона
Одиночки и статической константы (или переменной). В сети толкового ответа найти не смог. Есть пост на хабре http://habrahabr.ru/post/103681 , но там говорят о статическом классе и другом языке. Дополнительный вопрос: если объект это набор процедур и свойств, то не проще ли создавать статичные процедуры и свойства. Самое обидное, я понимаю что Одиночка практичнее статичных методов, но объяснить не могу. Буду признателен за ответы или ссылки. |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Только синглтон может реализовывать интерфейс, наследовать класс.
Сам не пользуюсь ни синглтоном, ни статическими классами. Если нужен глобальный доступ, кладу объект в глобальную переменную. package { import flash.text.TextField; public class Global { static public var textField:TextField; } } |
|
|||||
Цитата:
Уж не это ли он?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
GBee, тогда уж можно было зацепиться за "не пользуюсь". Ладно ни один не делаешь, но неужели прям ни одним не пользуешься?
А если по делу, то это единственный мой статический класс. |
|
|||||
Цитата:
Добавлено через 2 минуты На хабровой ссылке описаны какие то дохленькие различия на мой взгляд. А уж наследовать синглтон это я уже не понимаю вообще целей.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
|
Эм, я считал, что статических классов в as3 нет =( ну да ладно.
В том то и дилемма, одиночка нужен не для организации глобальной точки доступа, основная его задача - не дать создать больше одного экземпляра класса. Т.е. данный шаблон расширяет собой статичный метод? Добавлено через 2 минуты Наследование как раз понятно - нужен тебе только один объект в игре, унаследовался от уже написанного класса и не замарачиваешься. |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
GBee, сам синглтон тоже может наследоваться от другого класса.
gyfak, статических классов в as3 нет, флешеры просто так привыкли называть классы, которые состоят только/большей частью из статических членов. |
|
|||||
Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
|
callme, ок, спасибо
Я так понял, и только тем и отличаются, что в первом случае, мы можем в любом месте создать еще один объект myClass, а одиночка не даст нам этого сделать. А так, одна и та же глобальная точка доступа к объекту. |
|
|||||
Цитата:
Но в ас3 полноценных синглтонов не может быть по простой причини отсутствия возможности создания приватных конструкторов. |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Да, так и есть. А если мне понадобится чтобы объект существовал только в единственном экземпляре, то я выберу вариант с синглтоном, нежели вариант со статическим классом. Потому что статические классы сложны для понимания. Они должны выступать каркасом для построения экземпляра. А тут получается, они и сами по себе объект, а еще и каркасом выступают, но никакие экземпляры не будут создаваться на самом деле. Мне такое тяжело понять.
|
Часовой пояс GMT +4, время: 23:39. |
|
« Предыдущая тема | Следующая тема » |
|
|