Uno de los patrones de diseño que mas útiles en mi opinión es el Singleton. Si queremos almacenar datos relevantes para nuestro proyecto y que sean accesibles fácilmente desde cualquier sitio es la mejor opción. O para la típica cartela de avisos que solo puede estar abierta una vez y que tiene que llamarse desde muchos sitios.
Para construirlo a mi esta es la forma que mas me gusta:
package {
public class Modelo {
private static var _instance:Modelo;
public function Modelo(singletonenforcer:SingletonEnforcer) {
if (singletonenforcer == null) {
throw new Error("Modelo es un Singleton. Para acceder a una instancia hacedlo mediante Modelo.getInstance()");
return;
}
}
public static function getInstance():Modelo {
if (!_instance) {
_instance = new Modelo(new SingletonEnforcer());
}
return _instance;
}
}
}
class SingletonEnforcer{}
De esta manera podemos acceder así:
Modelo.getInstance().guardarDatos();
Modelo.getInstance().recogerDatos();