10cadd5156167faecac80be04d3da58953226530
📂 Estructura del Proyecto: Arquitectura en Capas (Java) Esta estructura sigue el patrón DAO (Data Access Object) y separa la lógica de acceso a datos de la interfaz de usuario.
- 🏗️ Capa de Modelo y Datos (modelo/) Es el núcleo de la aplicación, donde se define la información y cómo se guarda. Departamento.java: Es un POJO (Plain Old Java Object). Representa la entidad "Departamento" con sus atributos (id, nombre, etc.), constructores, getters y setters. exceptions/: Contiene excepciones personalizadas para manejar errores de lógica de negocio: InstanceNotFoundException.java: Se lanza cuando buscas un departamento que no existe. DuplicateInstanceException.java: Se lanza si intentas crear un departamento con un ID que ya existe.
- 🗄️ Capa DAO (Data Access Object - modelo/dao/) Se encarga exclusivamente de las operaciones de lectura y escritura en la base de datos (CRUD). IGenericDao.java: Interfaz genérica que define métodos estándar (crear, leer, borrar) para cualquier tipo de objeto. AbstractGenericDao.java: Clase que implementa la lógica común de la interfaz genérica para evitar repetir código en otros DAOs. departamento/IDepartamentoDao.java: Interfaz específica para las operaciones de la entidad Departamento. departamento/DepartamentoEXistDao.java: Implementación real de los métodos. Por su nombre, parece que utiliza eXist-db (una base de datos XML) para guardar la información.
- 🧠 Capa de Servicio (modelo/servicio/) Actúa como intermediario entre la interfaz de usuario y los DAOs. Aquí es donde se aplica la "lógica de negocio". IServicioDepartamento.java: Interfaz que define qué acciones puede realizar el usuario (ej: registrarNuevoDepartamento()). ServicioDepartamento.java: Implementación de la lógica. Valida datos y decide cuándo llamar al DAO o cuándo lanzar una excepción.
- 🖼️ Capa de Interfaz (GUI - modelo/main/) Contiene las ventanas de la aplicación (probablemente creadas con Swing o AWT). DeptWindow.java: La ventana principal que muestra la lista de departamentos o el menú general. CreateNewDeptDialog.java: Una ventana secundaria (diálogo) con un formulario para introducir los datos de un nuevo departamento.
- 🛠️ Utilidades (util/) Clases auxiliares para la infraestructura técnica. ConnectionManager.java: Gestiona el ciclo de vida de la conexión (abrir y cerrar) con la base de datos. MyDataSource.java: Almacena la configuración de acceso (URL del servidor, puerto, usuario y contraseña).
Description
Languages
Java
100%