-
Couldn't load subscription status.
- Fork 0
cliente
Melina Aguilar edited this page Jul 3, 2025
·
1 revision
La entidad Cliente representa a los usuarios del sistema de cine con validaciones integradas para garantizar la integridad de los datos.
- Almacenar información personal del cliente (DNI, nombre, apellido, email).
- Validar datos de entrada según reglas de negocio.
- Proporcionar acceso controlado a los atributos mediante getters/setters.
- Servir como identificador único para las reservas.
| Atributo | Tipo | Propósito | Validación |
|---|---|---|---|
id_cliente |
int | Identificador único en BD | Asignado automáticamente |
dni |
str | Documento de identidad | Solo números, 8 dígitos |
nombre |
str | Nombre del cliente | No vacío, solo letras y espacios |
apellido |
str | Apellido del cliente | No vacío, solo letras y espacios |
email |
str | Correo electrónico | Debe contener '@' y '.' |
cliente = Cliente()
try:
cliente.set_dni("12345678") # Válido
cliente.set_dni("1234567a") # Lanza ValueError
except ValueError as e:
print(f"Error: {e}")try:
cliente.set_nombre("Juan Carlos") # Válido
cliente.set_nombre("") # Lanza ValueError
except ValueError as e:
print(f"Error: {e}")falta estoLa entidad Cliente implementa validación defensiva mediante excepciones ValueError:
- DNI inválido: "El DNI debe contener solo números"
- Nombre/Apellido vacío: "El nombre/apellido no puede estar vacío"
- Email inválido: "El email no es válido"
classDiagram
ServicioValidacion : +es_nombre_valido()
class Cliente {
- dni: str
- nombre: str
- apellido: str
- email: str
}
class Reserva {
- cliente: Cliente
}
class ClienteDAO {
+buscar_por_dni()
}
ServicioValidacion --> Cliente
Cliente "1" --o "1" Reserva : cliente
Cliente --> ClienteDAO
- Con Reserva: Un cliente puede tener múltiples reservas.
- Con ClienteDAO: Persistencia y recuperación de datos.
- Con ServicioValidacion: Validación adicional de nombres.
⬅️ Inicio | Guía General del Sistema | Referencia Técnica | Guía para Desarrolladores ➡️
💾 Repositorio: Capybara Films en GitHub
© 2025 Capybara Films — Desarrollado por Carpinchos Programando
💾 Repositorio: Capybara Films en GitHub
© 2025 Capybara Films — Desarrollado por Carpinchos Programando
- 🏗️ Arquitectura del Sistema
- 📄 main.py
- 📁 data/
- 📁 daos/
- 📁 domain/entities/
- 📁 domain/entities/types
- 📁 services/
- ⚙️ Cómo Instalar y Ejecutar el Proyecto
- 🛠️ Cómo contribuir
- 🧪 Probar el Sistema Paso a Paso
- 🐞 Errores Comunes y Soluciones