Aplicación Singleton
Aplicación Singleton
Problema a resolver
¿Cómo hacer para controlar las conexiones hacia una base de datos,
independientemente del número aplicaciones que accedan a ella?
Desarrollo de la práctica:
d) En la ventana de Services debe de verse la base de datos creada, da doble clic para
abrirla (y establecer la conexión)
e) En Tables , da clic derecho y elije la opción Execute Command, en la ventana mostrada
introduce el código del script abajo mostrado para crear la base de datos
g) Ubicate en la tabla CARRERA y activa la opción View Data, inserta datos en la ventana del
asistente, tal como se muestra a continuación:
h) Has lo mismo para la tabla ESTUDIANTE, al final las dos tablas deben tener datos
B. Creación de la aplicación con conexión implícita usando el asistente de NetBeans
Dentro de NetBeans:
a) Crea un nuevo proyecto java simple, puedes llamarlo practica_02
b) Dentro de la carpeta Sources crea un nuevo paquete, puedes llamarlo practica
c) Dentro del paquete practica, crea una aplicación de tipo “Swing GUI Forms”, elige
Master/Detail sample Form, da clic en Next, dale un nombre , puedes llamarle
ManipulaArchivo, da clic en Next
Creación de la conexión.
a) Dentro del proyecto y de Source Packages , crea un paquete llamado datos.
Dentro de él crea una clase llamada Conexión, la cual tendrá la estructura del
patrón Singleton.
b) La clase creada tendrá tres atributos:
private static Connection coneccion;
private static int numConexiones=0; // después debes de descubrir para qué es útil
// el tercer atributo créalo pues es lo que caracteriza al patrón Singleton
c) Agrega un constructor, con los parámetros (String url,String usuario,String password),
agrega el ámbito(o visibilidad) que debe corresponder al patrón. El contenido del
constructor debe ser:
f) Por último, se crea el método que servirá para cerrar la conexión y si esto se llevó
a cabo. ¿Por qué crees que puede no cerrarse?
Creación de la clase ModeloTabla
a) Crea un paquete llamado datos y dentro de él la siguiente clase
e) Dentro del método de actionPerformed, identifica si se activó por pulsar el botón llamado
Registrar, para que en ese caso se ejecute el código siguiente:
f) También dentro del método actionPerformed, si se activó por pulsar el botón llamado
Terminar, que se ejecute el siguiente código:
if(baseDatos.cerrarSesion())
System.exit(0);
else
this.dispose();
g) Por último, dentro del método run() has que el marco(objeto JFrame) sea visible y dale el
tamaño y ubicación adecuados: this.setVisible(true);, this.setSize(…….).
Prueba de la aplicación
a) Dentro del paquete prueba, crea una clase la cual puedes llamarla PruebaAplicacion , y
dentro de ella el método main que contendrá:
ModeloTabla mt = new ModeloTabla();
Interfaz v1 = new Interfaz(mt);
…..
Crea varias objetos de Interfaz con el mismo modelo de tabla
b) Crea tantos hilos (Thread) dándole como parámetro a cada hilo un objeto distinto de la
clase Interfaz
c) Inicia los hilos creados
d) Ejecuta el programa de la clase prueba, cuida de que las instancias de la clase
Análisis
Conclusiones
Redacta brevemente tus conclusiones sobre el uso del patrón Singleton en esta aplicación