Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/10/2003, 09:08
Avatar de mico
mico
 
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 47
Antigüedad: 20 años, 6 meses
Puntos: 0
RE:Singleton.

Hola.

Te explico un poquillo para que es útil es singleton:

En Singleton efectivamente no es más que úna clase estática que solo se puede instanciar una vez, además los datos que tu incluyas en el singleton son permanentes y no desaparecen (hasta que sales del programa, el recolector de basura destruye la clase o hasta q apagas el ordenador claro). Por ejemplo esto es útil a la hora de compartir diferentes variables u objetos entre paquetes, por ejemplo para ir guardando los datos introducidos en un formulario y luego procesarlos en un paquete o clase diferente. Lo que no es útil es para mantener un histórico de objetos. Para esta tarea a mi entender deberías usar un vector de objetos, con tipo, acción realizada etc. donde guardar el histórico. Además si luego pretendes guardar este histórico en el disco duro a la hora de guardarlo sera muy facil serializar el vector a un archivo. Lo que puedes hacer es un Singleton con un vector dentro, pero esta solución a mi entender no es muy elegante.

No entiendo lo de si dos presonas pueden modificarlo a la vez, si te refieres a dos clases no, osea tu imagínate que instancias el Singleton metes en un formulario el nombre de la persona 1, 2,....,n y ahora hay otra clase llamada ordenar_alfabeticamente, esta instanciará al mismo singleton y podrá coger los datos para ordenarlos alfabeticamente.

Ahora si lo que quieres es que dos personas tengan acceso concurrente (a la vez) a un sistema de ficheros o a un histórico lo mejor es usar una base de datos, ya que sino vas a tener problemas de interbloqueo, eficiencia etc.

La verdad es que yo no soy experto en el tema, pero bueno, si he ayudado en algo me alegro.



SALUDOS FOREROS.
__________________
Saludos.

Última edición por mico; 16/10/2003 a las 09:15