Code for the Amazon Locker Service
Write the object-oriented code to implement the design of the Amazon Locker service problem.
We’ve reviewed the different aspects of the Amazon Locker service and observed the attributes attached to the problem using various UML diagrams. Now, let’s explore the more practical side of things, where we will work on implementing the Amazon Locker service using multiple languages. This is usually the last step in an object-oriented design interview process.
We have chosen the following languages to write the skeleton code of the different classes present in the Amazon Locker service:
Java
C#
Python
C++
JavaScript
If you want to skip directly to the implementation and see the complete workflow, simply scroll down or click Executable Code: Amazon Locker Service.
Amazon Locker service classes
This section will provide the skeleton code of the classes designed in the class diagram lesson.
Note: For simplicity, we are not defining getter and setter functions. The reader can assume that all class attributes are private, accessed through their respective public getter methods, and modified only through their public method functions.
Enumerations
First, we will define all the LockerSize
and LockerState
. The code to implement these enumerations is as follows:
Note: JavaScript does not support enumerations, so we will use the
Object.freeze()
method as an alternative that freezes an object and prevents further modifications.