Показать сообщение отдельно
Старый 18.03.2008, 13:03
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 27  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Почитав книжку Foe, Object-Oriented Actionscript 3.0 (2007) долгое время использовал их версию синглтона
Код:
package {

    public class Singleton {

        private static var instance:Singleton;
        private static var allowInstance:Boolean;

        public function Singleton() {
            if(!allowInstance) { 
                throw new Error("Error: use Singleton.getInstance() instead of new keyword");
            }
        }

        public static function getInstance(fg):Singleton 
        {
            if(instance == null) {
                allowInstance = true;
                instance = new Singleton();
                trace("Singleton instance created");
                allowInstance = false;
            } else { 
                trace("Singleton instance already exists");
            }
            return instance;
        }
        
        public function doSomething():void {
            trace("doing something");
        }
    }
}
В последнем проекте решил не использовать этот паттерн вовсе, никаких неудобств пока не обнаружил.
В каких конкретных случаях из практики использование этого паттерна необходимо?
И какие причины против его использования?