-
Notifications
You must be signed in to change notification settings - Fork 0
candy
Melina Aguilar edited this page Jul 3, 2025
·
1 revision
La entidad Candy representa los productos de confitería disponibles en el cine, gestionando los diferentes tipos de combos y proporcionando funcionalidad de selección interactiva.
- Encapsular tipos de combos de confitería.
- Proporcionar métodos de acceso a información del combo.
- Implementar selección interactiva de combos.
- Integrar con enumeraciones de tipos de candy.
| Atributo | Tipo | Propósito | Validación |
|---|---|---|---|
| tipo | TipoCandy |
Tipo de combo (enum) | Valores predefinidos |
candy = Candy(TipoCandy.MEDIANO)
tipo_combo = candy.get_tipo()
print(f"Tipo: {tipo_combo.get_nombre()}")Fuente: Candy.py:7-8
def __str__(self):
return f"Candy: {TipoCandy.get_nombre()}" # Muestra el nombre del candyFuente: Candy.py:10-11
combo_seleccionado = Candy.obtener_combo()
# Muestra menú interactivo y retorna objeto Candy
print(f"Combo elegido: {combo_seleccionado.get_tipo().get_nombre()}")Fuente: Candy.py:13-32
La entidad Candy implementa validación en la selección interactiva:
-
Entrada inválida: Captura
ValueErrorpara entradas no numéricas. - Rango inválido: Valida que la opción esté dentro del rango de combos disponibles.
- Bucle de reintento: Permite múltiples intentos hasta obtener entrada válida.
graph TD
Reserva --> CandyNode
CandyDAO --> CandyNode
CineServices --> CandyNode
subgraph CandySubgraph
CandyNode["Candy
- tipo: TipoCandy
+ obtener_combo"]
end
CandyNode --> TipoCandy["TipoCandy
CHICO/MEDIANO/GRANDE
+ get_nombre
+ get_precio"]
- Con TipoCandy: Enum que define tipos y precios de combos.
- Con Reserva: Múltiples candies pueden asociarse a una reserva.
- Con CandyDAO: Persistencia y consultas del catálogo de combos.
- Con CineServices: Selección de combos en el flujo de reserva.
- El método estático
obtener_combo()actúa como factory para crear instancias. - Encapsula la lógica de selección y creación de objetos.
- Utiliza
TipoCandypara garantizar consistencia en tipos de combos. - Accede a precios y nombres a través de métodos del enum.
- Implementa interfaz de usuario directamente en la entidad.
- Maneja validación y reintento de entrada de usuario.
Ambas entidades (Sala y Candy) demuestran diferentes enfoques de diseño: Sala es una entidad simple y directa, mientras que Candy incorpora lógica de interacción más compleja, mostrando la flexibilidad del diseño de dominio para adaptarse a diferentes necesidades del negocio.
⬅️ 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