COMPOSITE
Dado que un pedido puede estar compuesto por múltiples elementos del menú (productos individuales o combos que a su vez pueden contener otros combos), el patrón Composite es ideal para representar esta estructura jerárquica. Este patrón permite tratar de forma uniforme tanto a los elementos individuales (productos) como a los compuestos (combos), facilitando operaciones como:

Calcular el precio total del pedido de forma recursiva.
Mostrar detalles completos del contenido del pedido.
Descontar del inventario los ingredientes necesarios para la realización del pedido
Modelo-Vista-Controlador(MVC)
La arquitectura MVC facilita una separación clara de responsabilidades en el sistema:
MODELO:
VISTA:
CONTROLADOR:
Maneja la lógica de negocio (entidades como Pedido, Producto, Combo, lógica del patrón Composite, y acceso a base de datos en Supabase).
Interfaz de usuario desarrollada en React, que consume APIs REST para presentar datos y recibir entradas del usuario.
Controladores de Spring Boot que actúan como puente entre la vista (React) y el modelo (servicios y lógica de negocio). Reciben solicitudes HTTP, invocan servicios adecuados y devuelven las respuestas apropiadas (JSON).

Esta arquitectura modular facilita: •El mantenimiento y escalabilidad.
•La reutilización de componentes. •Una experiencia de usuario fluida gracias a la SPA (Single Page Application) en React.