Comunidad de diseño web y desarrollo en internet online

Soy yo o este trozo de codigo es mu raro?

Citar            
MensajeEscrito el 07 May 2009 10:37 am
Wenas

Acabo de encontrarme con este trozo de codigo en el engine de una aplicacion de mi trabajo:

Código :

...
public class ManageDisplayObjects
{
   private static var _manager:ManageDisplayObjects;
   public static function get manager():ManageDisplayObjects
   { 
        return _manager; 
   }
   public static function init(root:MovieClip):void 
   {
      if (!_manager) 
      {
         _manager = new ManageDisplayObjects(root);
      }
   }
   public function ManageDisplayObjects(root:MovieClip)
   {
      _root = root;
   }
...
}

Evidentemente la clase es mas larga, pero mi pregunta es: La unica utilidad que veo es que llamando a init() asigna root, pero no se, lo veo muy rebuscado :S
Para mi que la la variable estatica y su getter sobran (se podria hacer de otra manera mucho mas elegante).

Informacion extra: Todas las variables son privadas sin getter ni setter, y todos los demas metodos son publicos y no estaticos.

No se, ?que pensais vosotros?

Un saludo.

Por X-TUS

94 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 May 2009 10:44 am
Es el típico code de creación de un Singleton, con el agregado de que se le pasa el scope en el init.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 May 2009 02:50 pm
oooohhhhh :o

Por X-TUS

94 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 May 2009 10:55 am
He estado mirando, y supuestamente el proposito del Singleton es tener una variable o clase unica y accesible desde todas partes de la aplicacion para la misma, pero en vez de hacer un Singleton no bastaria con hacer una variable o clase estatica y yasta?
De una clase estatica tampoco puedes hacer duplicados y si la creas publica puedes acceder en ella desde todas partes de la aplicacion.

Un saludo

Por X-TUS

94 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 May 2009 11:03 am
Una variable estática no es lo mismo que una instancia única. De hecho hay frameworks enteros (por ejemplo el ApplicationFacade de pureMVC) que se basan en Singletons para organizar el cotarro. Te diría que le des un toque a Eliseo2, que es muy didáctico explicando estas cosas.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.