This question evaluates object-oriented design, state modeling, and scheduling algorithm competencies for coordinating multiple elevators, including class responsibilities, state transitions, and request dispatching.
Design an object-oriented elevator control system for a building with multiple floors and multiple elevators.
The system should support:
Focus on clean object-oriented design and the core scheduling logic. You do not need to model low-level motor hardware, networking, or a graphical UI.
Discuss the main classes, responsibilities, state transitions, and how requests are processed. If useful, also describe a simple dispatch algorithm and how you would extend the design later.