Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Patron Diseño Singleton
Patron Diseño Singleton
La instrumentación del patrón puede ser delicada en programas con múltiples hilos
de ejecución. Si dos hilos de ejecución intentan crear la instancia al mismo tiempo
y esta no existe todavía, sólo uno de ellos debe lograr crear el objeto. La solución
clásica para este problema es utilizar exclusión mutua en el método de creación de
la clase que implementa el patrón.
Las situaciones más habituales de aplicación de este patrón son aquellas en las que
dicha clase controla el acceso a un recurso físico único (como puede ser el ratón o
un archivo abierto en modo exclusivo) o cuando cierto tipo de datos debe estar
disponible para todos los demás objetos de la aplicación.
Ejercicio:
Vamos a crear una aplicación que nos permita capturar los logs (registros de
actividad en mensajes) de una única sesión de usuario.
2. Creamos una nueva clase (Java class) para el objeto singleton. Damos el
nombre Logger:
3. En la Clase Logger creamos una constante (static) de tipo privado con valor
nulo y una variable privada para el mensaje que va a manejar el objeto:
Ejercicio:
Solución:
2. Creamos una clase nueva dentro del proyecto con el nombre Marcianos:
3. Dentro de esta clase creamos el objeto único marcianos el cual iniciará con
una cantidad de 10 marcianos. Se crea el método para derribar o crear
marcianos y para mostrar cuántos marcianos quedan luego del disparo y
determinar si ya ganó por eliminar el total de marcianos.
5. Creamos otra clase con el nombre Jugador que se encargará de eliminar los
marcianos.
7. Al ejecutar,
verificamos el
funcionamiento. Al
terminar con los
marcianos
aparecerá que ha
ganado.