Repaso
English
Diseño de sistemasIntermedioSD-29

Diseña un sistema de aparcamiento (diseño orientado a objetos).

Respuesta

  • Aclara: niveles, tipos de plaza (moto, compacto, grande, eléctrico), pago, puertas de entrada y salida.
  • Clases: ParkingLot (niveles, puertas), Level (plazas), ParkingSpot (tipo, is_free), Vehicle con un tamaño, Ticket (plaza, hora de entrada), PricingStrategy.
  • Estrategia de asignación de plazas (la libre más cercana, por tipo) detrás de una interface.
  • Concurrencia: dos coches nunca deben recibir la misma plaza (lock o actualización atómica en la base de datos).
  • Muestra SOLID: precios como Strategy, paneles de plazas libres como Observers.

Términos clave

Practica esta pregunta en Repaso