Añadir README.md
This commit is contained in:
26
README.md
Normal file
26
README.md
Normal file
@@ -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).
|
||||
Reference in New Issue
Block a user