Come up with a clean design for a messy component. The component is responsible for determining whether cars in Lyft’s new rental fleet should be serviced when they are returned.
Requirement:
- Should allow easy extensibility going forward
- Should be trivial to add new service criteria and change which parts each car model includes
- Making a change to the service criteria for a given car part should only require making a change in one place
Todo:
- Draft and submit a UML class diagram that maps out how the system will be reorganized