El proyecto "AutoMap" es una aplicación que ofrece una variedad de servicios de lavado de automóviles, diseñados para satisfacer las necesidades de los clientes y mantener los vehículos en óptimas condiciones. En este ejercicio, se aplican los patrones de diseño Modelo-Vista-Controlador (MVC) y el patrón de diseño Decorador.
-
Modelo-Vista-Controlador (MVC): Este patrón se utiliza para separar la lógica de negocio (Modelo), la interfaz de usuario (Vista) y el control de la interacción (Controlador) en la aplicación.
-
Decorador: El patrón de diseño Decorador se utiliza para extender las funcionalidades de los servicios de lavado de vehículos. Permite agregar características adicionales a los servicios básicos de lavado.
El proyecto "AutoMap" consta de varias clases que interactúan siguiendo los patrones de diseño mencionados:
-
Lavado: Representa el servicio básico de lavado de automóviles.
-
LavadoLlantas: Extiende el servicio de lavado básico y agrega la funcionalidad de lavado de llantas.
-
LavadoMotor: Extiende el servicio de lavado básico y agrega la funcionalidad de lavado de motor y teflón en las vestiduras.
-
Encerado: Extiende el servicio de lavado básico y agrega la funcionalidad de aplicación de jabón, cera espuma, encerado, pulido y descontaminación de la carrocería.
-
Cristalizado: Extiende el servicio de lavado básico y agrega la funcionalidad de porcelánica de carrocería y cristalizado de carrocería.
-
EntregaDomicilio: Extiende el servicio de lavado básico y agrega la funcionalidad de entrega a domicilio.
-
iServicios: Es una interfaz que define los métodos comunes para obtener la descripción y el precio de los servicios de lavado.
-
VistaPrincipal: Es la interfaz de usuario que permite al usuario seleccionar los servicios de lavado y proporcionar una matrícula. También muestra los precios de los servicios seleccionados.
-
CtrlVistaPrincipal: Actúa como el controlador que coordina la interacción entre la vista y el modelo. Controla la selección de servicios en la vista y utiliza las clases del modelo para crear un ticket.
-
Ticket: Utiliza la información proporcionada por el modelo y la muestra al usuario en un archivo PDF. Además, utiliza el patrón decorador para construir la descripción del servicio en el recibo.
Este proyecto fue creado por Kevin Esguerra Cardona, estudiante del programa de Ingeniería en Sistemas y Computación de la Universidad Tecnológica de Pereira como solución al segundo parcial de la asignatura de POO/Programación 4 dirigida por el Profesor Guillermo Roberto Solarte Martinez en el semestre 2023-2.