Implement the Singleton In AS3
The following example implement the Singleton In AS3 at the run-time.I don’t know if there is some other way to implement the Singleton in Compile-time.
From http://www.tink.ws/blog/stricter-singletons/
Strict Singletons in AS 3.0
With As 3.0 conforming to ECMA there you can no longer have private constructors which makes creating strict singletons a little bit more tricky. If I write a singleton, I want it written in a way that only a single instance can be created and if someone makes a mistake and tries to create an instance without using getInstance() an error will be thrown. This is a little workaround me and Rich came up with.
private static var instance:Singleton; |
private static var creatingSingleton:Boolean = false ; |
public function Singleton() |
if ( !creatingSingleton ) throw new Error( “Singleton and can only be accessed through Singleton.getInstance()” ); |
public static function getInstance():Singleton |
creatingSingleton = true ; |
instance = new Singleton(); |
creatingSingleton = false ; |