Singleton VS static const
Недавно мне был задан вопрос о различиях шаблона
Одиночки и статической константы (или переменной). В сети толкового ответа найти не смог. Есть пост на хабре http://habrahabr.ru/post/103681 , но там говорят о статическом классе и другом языке. Дополнительный вопрос: если объект это набор процедур и свойств, то не проще ли создавать статичные процедуры и свойства. Самое обидное, я понимаю что Одиночка практичнее статичных методов, но объяснить не могу. Буду признателен за ответы или ссылки. |
Только синглтон может реализовывать интерфейс, наследовать класс.
Сам не пользуюсь ни синглтоном, ни статическими классами. Если нужен глобальный доступ, кладу объект в глобальную переменную. Код AS3:
Код AS3:
|
Цитата:
Код AS3:
|
GBee, тогда уж можно было зацепиться за "не пользуюсь". Ладно ни один не делаешь, но неужели прям ни одним не пользуешься? :)
А если по делу, то это единственный мой статический класс. |
Цитата:
Добавлено через 2 минуты На хабровой ссылке описаны какие то дохленькие различия на мой взгляд. А уж наследовать синглтон это я уже не понимаю вообще целей. |
Эм, я считал, что статических классов в as3 нет =( ну да ладно.
В том то и дилемма, одиночка нужен не для организации глобальной точки доступа, основная его задача - не дать создать больше одного экземпляра класса. Т.е. данный шаблон расширяет собой статичный метод? Добавлено через 2 минуты Наследование как раз понятно - нужен тебе только один объект в игре, унаследовался от уже написанного класса и не замарачиваешься. |
GBee, сам синглтон тоже может наследоваться от другого класса.
gyfak, статических классов в as3 нет, флешеры просто так привыкли называть классы, которые состоят только/большей частью из статических членов. |
callme, ок, спасибо
Я так понял, Код AS3:
Код AS3:
мы можем в любом месте создать еще один объект myClass, а одиночка не даст нам этого сделать. А так, одна и та же глобальная точка доступа к объекту. |
Цитата:
Но в ас3 полноценных синглтонов не может быть по простой причини отсутствия возможности создания приватных конструкторов. |
Да, так и есть. А если мне понадобится чтобы объект существовал только в единственном экземпляре, то я выберу вариант с синглтоном, нежели вариант со статическим классом. Потому что статические классы сложны для понимания. Они должны выступать каркасом для построения экземпляра. А тут получается, они и сами по себе объект, а еще и каркасом выступают, но никакие экземпляры не будут создаваться на самом деле. Мне такое тяжело понять.
|
Часовой пояс GMT +4, время: 19:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.