Código ActionScript :
package net.tmeister.utils
{
public dynamic class Global
{
private static var global : Global
public static function getInstance() : Global
{
if ( global == null )
{
global = new Global( arguments.callee );
}
return global;
}
public function Global( caller : Function = null )
{
if ( caller != Global.getInstance )
{
throw new Error ("Global is a singleton class, use getInstance() instead");
}
if ( Global.global != null )
{
throw new Error( "Only one Global instance should be instantiated" );
}
}
}
}
Con el siguiente método de uso:
Código ActionScript :
package
{
import flash.display.MovieClip;
import net.tmeister.utils.Global
public class Main extends MovieClip
{
private var global:Global;
public function Main()
{
global = Global.getInstance();
global.stage = stage
trace('global.stage' + global.stage)
global.algunOtroValor = new MovieClip()
trace('global.algunOtroValor ' + global.algunOtroValor)
}
}
}
Y mi duda existencial es: ¿qué ventajas aporta tener una sola intancia frente a no tener ninguna? En este caso concreto:
Código ActionScript :
package net.juanlu.utils
{
public dynamic class Global
{
public function Global()
{
throw new IllegalOperationError ("Norl. ");
}
}
}
Código ActionScript :
package
{
import flash.display.MovieClip;
import net.juanlu.utils.Global
public class Main extends MovieClip
{
public function Main()
{
Global.stage = stage
trace('Global.stage' + Global.stage)
Global.algunOtroValor = new MovieClip()
trace('Global.algunOtroValor ' + Global.algunOtroValor)
}
}
}
