TipoCandy - PowerSystem2024/CapybaraFilms_ProyectoTercerSemestre GitHub Wiki

📄 TipoCandy.py

1. Propósito y Responsabilidades

La enumeración TipoCandy define los tipos de combos de confitería disponibles en el sistema Capybara Films con información de precios y descripciones integradas.

🔸 Responsabilidades principales:

  • Definir tipos de combos disponibles (chico, mediano, grande).
  • Encapsular descripciones detalladas con emojis y contenido.
  • Proporcionar precios asociados a cada combo.
  • Garantizar consistencia en el catálogo de productos.

2. Valores y Estructura de Precios

Tipo Descripción Precio
CHICO Combo Chico = 🍿 Pochoclo chico + 🥤 bebida 500cc $5,000
MEDIANO Combo Mediano = 🍿 Pochoclo mediano + 2 🥤 bebidas 500cc $8,000
GRANDE Combo Grande = 🍿 Pochoclo grande + 4 🥤 bebidas 500cc $10,000

3. Métodos Clave con Ejemplos de Uso

🔸 Acceso a Información de Combos:

combo_chico = TipoCandy.CHICO  
print(f"Nombre: {combo_chico.get_nombre()}")  # "Combo Chico = 🍿 Pochoclo chico + 🥤 bebida 500cc"  
print(f"Precio: ${combo_chico.get_precio()}")  # "$5000"  
  
combo_grande = TipoCandy.GRANDE  
print(f"Precio grande: ${combo_grande.get_precio()}")  # "$10000"

🔸 Uso en Selección de Combos:

for idx, tipo in enumerate(TipoCandy, start=1):  
    print(f"{idx}. {tipo.get_nombre()} - Precio: {tipo.get_precio()}")

4. Integración con Otras Entidades

graph TD
    TipoCandy["TipoCandy - Enum
    CHICO: $5,000
    MEDIANO: $8,000
    GRANDE: $10,000
    + get_nombre
    + get_precio"]

    TipoCandy --> Candy["Candy
    - tipo: TipoCandy"]
    TipoCandy --> CineServices["CineServices
    seleccionar_combos"]
    TipoCandy --> Reserva["Reserva
    calcular_precio_total"]
Loading

🔸 Relaciones:

  • Con Candy: Define el tipo de combo que encapsula la entidad Candy.
  • Con CineServices: Utilizado en el menú de selección de combos para mostrar opciones disponibles.
  • Con Reserva: Los precios se suman en el cálculo total de la reserva.

5. Patrones de Diseño Implementados

🔸 Enum con Comportamiento Descriptivo:

  • Incluye descripciones detalladas con emojis para mejor experiencia de usuario.
  • Encapsula tanto la descripción como el precio en una estructura cohesiva.

🔸 Type Safety para Productos:

  • Garantiza que solo se usen tipos válidos de combos.
  • Previene inconsistencias en el catálogo de productos.

🔸 Centralized Product Catalog:

  • Mantiene toda la información de productos de confitería en un solo lugar.
  • Facilita actualizaciones de precios y descripciones.

6. Manejo de Errores

La enumeración TipoCandy proporciona acceso seguro a información de productos:

  • Los métodos get_nombre() y get_precio() siempre retornan valores válidos.
  • La integración con cine_services maneja la selección de combos con validación de rango.
  • El sistema permite selección múltiple y maneja entradas inválidas con reintentos.

Esta enumeración demuestra cómo los tipos de dominio pueden incluir información rica y descriptiva, proporcionando una experiencia de usuario mejorada mientras mantienen la consistencia del catálogo de productos en el sistema de reservas.

⚠️ **GitHub.com Fallback** ⚠️