Este proyecto implementa un menú de consola reutilizable en Java usando el patrón Command y el patrón Builder.
Permite crear menús y submenús de forma fluida, evitando repetir código y manteniendo la lógica de negocio separada del sistema de navegación.
- Menús interactivos por consola.
- Soporte para submenús anidados.
- Opción automática de "Volver" en los submenús.
- Uso del patrón Command para desacoplar acciones del menú.
- Builder para construir menús de manera clara y concisa.
public class Principal {
public static void main(String[] args) {
Menu menuPrincipal = new MenuBuilder("SISTEMA DE PEDIDOS DE PIZZAS", false)
.opcion("Ingresar Cliente", () -> System.out.println("Cliente ingresado."))
.opcion("Ingresar Pizzero", () -> System.out.println("Pizzero ingresado."))
.submenu("Gestionar Pizzas", new MenuBuilder("SUBMENÚ DE PIZZAS", true)
.opcion("Agregar Pizza", () -> System.out.println("Pizza agregada."))
.opcion("Listar Pizzas", () -> System.out.println("Listado de pizzas.")))
.opcion("Registrar Pedido", () -> System.out.println("Pedido registrado."))
.opcion("Mostrar Pedido", () -> System.out.println("Mostrando pedido."))
.opcion("Salir", () -> {
System.out.println("¡Hasta pronto!");
System.exit(0);
})
.build();
menuPrincipal.mostrar();
}
}
=== SISTEMA DE PEDIDOS DE PIZZAS ===
- Ingresar Cliente
- Ingresar Pizzero
- Gestionar Pizzas
- Registrar Pedido
- Mostrar Pedido
- Salir
Seleccione una opción:
=== SUBMENÚ DE PIZZAS ===
- Agregar Pizza
- Listar Pizzas
- Volver
Seleccione una opción: