Показать сообщение отдельно
Старый 27.11.2017, 12:15
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 7  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Цитата:
Сообщение от undefined Посмотреть сообщение
ZergMaster, общепринятая практика создания синглтонов - приватный конструктор и статический метод, который его его дергает и возвращает инстанс.
Все верно. Но приватным конструктор быть не может в as3. В данном же случае, если мы попытаемся создать экземпляр BubbleText откуда-то извне, кроме как из статического метода gi(), то у нас ничего не получится, так как туда нужно будет передать PrivateSingleton, который находится внутри документкласса BubbleText. PrivateSingleton видно только внутри документкласса BubbleText, поэтому при создании экземпляра из функции gi() проблем не будет.
А название такое, чтобы если вдруг я бы попытался создать экземпляр BubbleText где-нибудь в коде, я бы увидел, что ему нужно передать некий PrivateSingleton. Я согласен, что название, быть может, не самое удачное. Лучше назвать PrivateFromSingleton. Само же название параметра "itIsSingleton" как бы намекает, что мы имеем дело с данным паттерном и не нужно создавать его экземпляр, а искать статический метод gi()

Добавлено через 4 минуты
вот в java возможно создать приватный конструктор и поэтому там таких извращений не требуется...
__________________
while(live()) { hope(); }