licenciada
En la entrada sobre patrones de Diseño se habla sobre el patrón MVC, en esta oportunidad vamos explicar un ejemplo practico donde se aplica este modelo mostrando la forma de independizar los componentes de nuestro sistema, además lo combinaremos con los patrones DAO y VO para facilitar el manejo de la información.
Por cuestiones de tamaño no vamos a hacer laaplicación paso a paso, pero si se explicará la lógica de la misma, al final se presenta una opción de descarga del código fuente donde veremos la aplicación en funcionamiento.
El problema.
Se solicita desarrollar un sistema de administración de usuarios con un CRUD(Create, Read, Update, Delete) básico nos advierten que la aplicación es un prototipo inicial el cual esta propenso a cambios,pues aún no se tienen definidas las ventanas con las que se va a trabajar ni la información requerida, por le momento se trabajará con una BD MySql, pero posiblemente se tenga que migrar a otro sistema gestor....
La solución.
Se aplica el MVC permitiendo independizar la lógica y la parte visual del sistema usando para eso un controlador que administra los procesos sirviendo como puente entreestos.
para la BD se usa MySql, reutilizando la BD creada en el ejemplo de conexión con Java, el Scritp es el siguiente.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE DATABASE /*!32312 IF NOT EXISTS*/`codejavu` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `codejavu`;
/*Table structure for table `persona` */
DROP TABLE IF EXISTS `persona`;
CREATE TABLE`persona` (
`id` int(10) NOT NULL,
`nombre` varchar(30) default NULL,
`edad` int(3) default NULL,
`profesion` varchar(30) default NULL,
`telefono` decimal(10,0) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*Data for the table `persona` */
De esta forma se crea la Base de Datos a la que se va a apuntar, la cual contiene solo una tabla Persona conla que se realizan todas las operaciones CRUD.
La agrupación de clases de nuestro sistema es:
Como vemos tenemos la parte visual compuesta por las clasesVentanaPrincipal, VentanaRegistro, VentanaBuscar, la lógica de negocio se establece en el modelo el cual se compone por la clase Logica y Conexión y aplicamos los patrones DAO y VO por medio de las clases PersonaDao yPersonaVo y por ultimoel controlador se define en la clase Coordinador, encargada de establecer todas las relaciones del sistema, la clase Principalprepara las instancias iniciales del sistema y posteriormente lo ejecuta.
Veamos como funciona el Patrón:
El Modelo.
Como se mencionó, en el modelo tenemos la lógica de negocio, serán todas las clases vinculadas con el CRUD a nivel interno, que en ultimas es enlo que gira nuestro sistema.
Clase Logica.
Esta clase permite realizar las operaciones asociadas a la lógica de negocio como tal, desde ella realizamos las validaciones y llamados a las operaciones CRUD del sistema.
En caso de que se requieran procesos adicionales asociados a la lógica de negocio, aquí será donde se creen los métodos para dichos procesos, por ejemploel método validarRegistrodetermina si los datos son correctos y permite registrar la persona en el Dao.
1
2
3
4
5
6
7
8
9
10
11
public void validarRegistro(PersonaVo miPersona) {
PersonaDao miPersonaDao;
/*Valida que solo se ingresen id de 3 digitos*/
if (miPersona.getIdPersona() > 99) {
miPersonaDao = new PersonaDao();
miPersonaDao.registrarPersona(miPersona);
}else { JOptionPane.showMessageDialog(null,"El documento de la persona debe" +
" ser mas de 3 digitos","Advertencia",JOptionPane.WARNING_MESSAGE);
}
}
Clase Conexión.
En esta clase tenemos la cadena de conexión con la que trabajará nuestra aplicación, en ella se define la base de datos, el usuario, password y driver de conexión, si por ejemplo en un futuro se nos pide conectarnos a...
Regístrate para leer el documento completo.