From 10cadd5156167faecac80be04d3da58953226530 Mon Sep 17 00:00:00 2001 From: nacho Date: Fri, 10 Apr 2026 22:42:55 +0000 Subject: [PATCH] =?UTF-8?q?A=C3=B1adir=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..73d877f --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +📂 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. +1. 🏗️ 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. +2. 🗄️ 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. +3. 🧠 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. +4. 🖼️ 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. +5. 🛠️ 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). \ No newline at end of file