Цель шаблона Singleton - убедиться, что существует только один экземпляр какого-либо объекта.Обычно используется в flex для добавления Global State в проект.Другими словами, он позволяет вам выполнять такие действия, как задание и иметь доступ к глобальным переменным из любой точки вашего приложения.
package {
[Bindable]
public final class AppGlobals {
public static var _instance:AppGlobals;
public function AppGlobals( enforcer:SingletonEnforcer ){
if( enforcer == null ){
throw new Error( "You can only have one active instance of AppGlobals.");
}
}
public static function getInstance():AppGlobals {
if( _instance == null ) _instance = new AppGlobals( new SingletonEnforcer );
return _instance;
}
}
}
class SingletonEnforcer {}
Чтобы использовать это, вы должны создать экземпляр AppGlobals на самом высоком уровне вашего приложения (main.mxml или любого другого верхнего уровня), выполнив что-то вроде этого:
private var _appGlobals:AppGlobals = AppGlobals.getInstance();
Затем в любом месте вашего приложения вы можете создать экземпляр AppGlobals таким же образом и получить доступ к глобальному состоянию.информации.
Чтобы ответить на вторую часть вашего вопроса, да, вы можете использовать это для настройки глобальных переменных сеанса в вашем приложении.Некоторые люди спорят о том, что это лучший способ подойти к этому (конечно, не идеальный для каждой конкретной ситуации), но я нашел это полезным.
Надеюсь, это поможет!