>Siento la tardanza en la respuesta. Yo haría una instancia de 
>una clase en un ámbito que se pudiera acceder desde donde 
>necesitas los datos. En cada caso supongo que es diferente. Un 
>gestor de parámetros normalmente lo metería dentro de un 
>model. O incluso podría ser el model en si mismo y lo metería 
>como una propiedad de _level0. Pero sin duda seria una clase 
>normal y no una estática, estoy de acuerdo contigo.

_level0 viene a ser casi igual a nivel práctico que _global. No existe casi
diferencia entonces entre usar una clase estática o una clase "normal",
salvo en el uso de instancias.

>Una cosa aparte que he leido sobre los singletons, y me parece 
>interesante, es que tienen una gran pega. Normalmente los 
>clientes saben demasiado sobre ella. Saben como se construye. 

Eso sólo ocurre cuando la implementación no es lo suficientemente flexible.
Lógicamente es mucho mejor que la construcción de la instancia sea invisible
para sus suscriptores, pero eso depende del diseño de la aplicación y no del
Singleton en sí mismo. De hecho, en muchas ocasiones se recurre a una clase
que hace de Proxy para devolver la(s) instancia(s) de un singleton/multiton,
ya que aumenta la flexibilidad de las clases que utilizan esas instancias.
El no hacer estos cambios en la flexibilidad podría desembocar en la
violación del principio de sustitución de Liskov[1].

>De esta manera Documento no tiene ni idea de cómo se crea un 
>impresora (ni falta que le hace) que podria seguir siendo un 
>singleton (o no) y la aplicación puede tomar la decisión sobre 
>como se consigue la instancia.

Estoy de acuerdo con ello, pero el caso que nos ocupa es una clase
totalmente dependiente de otra y no una agregación. No veo qué sentido tiene
evitar el getInstance() si es una clase final.

Por favor, ilumíname.

M.


[1] http://en.wikipedia.org/wiki/Liskov_substitution_principle 

----------------------------------
Lista ASNativos:[EMAIL PROTECTED]
http://www.5dms.com/listas
----------------------------------

Responder a