Patron de Singleto.

03/08/2003 - 12:51 por Jose Antonio | Informe spam
Creo que el patron de singleton , es el mejor metodo para controlar las
instancias de una clase.

He probado a derivar una clase de otra que ya tienen implementado el patron
de singleton, sin embargo en la derivada no me permite utilizarlo solo con
la herencia de la clase base y tengo que implementarlo de nuevo.

Hay alguna manera de que por herencia de una clase todas las derivadas
implementen su propio patron de singleton?


Saludos y Gracias
José Antonio

Preguntas similare

Leer las respuestas

#6 Octavio Hernández
04/08/2003 - 16:34 | Informe spam
- Efectivamente Hernán, esto no era fácil, me olvidé de la incompatibilidad
virtual/static. Por cierto, en Delphi existe una cosa que no tiene
equivalente en la línea C++/Java/C#, los CONSTRUCTORES VIRTUALES, con los
que sí creo que se podría lograr esto.
- Como bien mencionas, creo que el caso planteado se ajusta más bien al uso
de genericidad, y entonces ni siquiera sería necesario que una clase
heredara de otra...

Salu2,

Octavio


"Hernan Foffani" escribió en el mensaje
news:7d9901c35a70$6597f3c0$
En cuanto a "Hay alguna manera de que por herencia de una
clase todas las derivadas implementen su propio patron de
singleton?" Si, en la clase base pones un método
abstracto y todas las clases derivadas tendrán que
implementarlo:

abstract class Base
{
public abstract Base GetInstance();

/* otros metodos */
}



el problema es que GetInstance() debería ser un método
estático (de clase) para devolver la instancia unica
comun y hay conflicto entre abstract y static.

además la clase implementadora debería también
sobreescribir el/los constructores (marcándolos como
private o protected) para evitar que se creen instancias
a través de new.

prefiero tu otra solución. la de usar el patron Factory.
si son pocas (dos o tres) clases yo no me complicaría y
haría una clase singleton para cada una.
en la proxima versión del lenguaje, quizás sea posible
programar el patrón Singleton usando genéricos.

saludos,
-H.
Respuesta Responder a este mensaje
#7 Hernan Foffani
04/08/2003 - 17:07 | Informe spam
http://www.pearsoneducacion.com/inf...logo/ficha


.asp?ISBN„%2D205%2D3839%2D6

y *no* es caro! :-)
gracias por el dato!

-Hernan
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida