Показать сообщение отдельно
Старый 07.05.2011, 19:48
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 17  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
не надо путать синглтон со ленивой инициализацией.
И если бы я написал так:
Код AS3:
public static var preferencesGroup1:ReferenceGroup1 = ReferenceGroup1.instance
Не прокатило бы по той же причине, что и в первом случае.
Хотя, оно, конечно "Хоть горшком называй, только в печку не суй"

Цитата:
А здесь после первого вызова в _preferencesGroup1 присвоится new ReferenceGroup1(), и создаваться он больше не будет? Или просто вернет new ReferenceGroup1(), а _preferencesGroup1 останется тем, что есть?
Вот по этому я и не использую такие конструкции в основных проектах - чтобы вопросы у коллег не появлялись (здесь что-то поленился).

Это аналог:
Код AS3:
if (_preferencesGroup1 == null)
{
    _preferencesGroup1 = new ReferenceGroup1();
}
return _preferencesGroup1;
Второй раз не создастся