Ver Mensaje Individual
  #10 (permalink)  
Antiguo 12/05/2012, 04:44
Avatar de Ronin46
Ronin46
 
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Clase que admite crear varias instancias o sólo una (patrón Singleton)

Hola Carlos, lo que planteas es la discusión que quería tener :)

Actualmente por cada clase que quiero que sea Singleton tengo que crearme la típica estructura de Singleton, o lo que es lo mismo, estoy repitiendo código en todas aquellas clases a instanciar en modo Singleton.

Lo que pretendo con el código que he puesto es tener una clase base (esto es, que cualquier clase va a heredar de esta clase base) a partir de la cual se le ofrece la posibilidad a las clases que heredan el comportarse en modo Singleton si así lo desean. De esta forma sólo tengo en un único sitio la estructura del Singleton, que me vale para cualquier clase.

Respecto a lo del constructor público de la hija efectivamente tienes razón, pero eso es lo que intento solventar manteniendo un array de clases instanciadas y verificando que una misma clase sólo se puede instanciar en modo Singleton o no.

Que me estoy cargando los principios del Singleton, pues vale, llamemos a esto de otra forma.

¿Se entiende lo que estoy persiguiendo?

Quizás sea más o menos lo mismo que implementar el patrón Registry que comentaba GatorV (pero con otro enfoque), ya que aquellas clases que quiero que tengan instancia única las podría almacenar en la clase Registry para recuperarlas allí donde necesite usarlas en lugar de preocuparme de si tengo que instanciarla en modo Singleton o no.

Saludos.

EDITO: No sé, quizás se asemeje al patrón Identiy Map que comentaba Masterpuppet. Al final supongo que la diferencia radica en que las clases que he diseñado soy capaz de visualizarlas mientras que el patrón Registry o Identity Map todavía no soy capaz de visualizarlos, pero eso será algo que vaya cambiando a medida que vaya viendo más cosas y me vayan surgiendo problemas a resolver.
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"

Última edición por Ronin46; 12/05/2012 a las 04:56