1. ActionScript / Говнокод #10343

    −146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public function FooClass() {
    	if (!_isConstructing) throw new Error("Singleton, use FooClass.instance");
    }
    
    public static function get instance():FooClass {
    	if (_instance == null)  {
    		_isConstructing = true;
    		_instance = new FooClass();
    		_isConstructing = false;
    	}
    	return _instance;
    }

    Новое слово в создании синглтонов.

    Запостил: kyzi007, 22 Мая 2012

    Комментарии (4) RSS

    • Защита от дураков, хули
      Ответить
    • ActionScript не умеет приватных конструкторов??
      Я надеюсь, что _isConstructing хотя бы в привате :)
      Ответить
      • Не умеет. Но обычно используются более короткие решения.
        У меня на любую лишнюю сущность жестокая аллергия (
        Ответить
    • Да какое же оно новое, года 3 назад тимлид заставлял так писать.
      Но сейчас думаю, что оно нафиг не нужно - такая защита, да и синглтон редко нужен
      Ответить

    Добавить комментарий