Designing the Objects: an OMS and an Auction
Candidates are reported being asked to design an order management system or an auction system with evolving requirements, and to build a class from scratch and then extend it with methods on request. These rounds are not about inheritance diagrams. They are a test of whether your first design has a place to put the second requirement.
The order management system
Strip it to the responsibilities and there are four, and the useful design gives each one an object.
| Object | Owns | Grows by |
|---|---|---|
| Order store | Every order and its current state | New states, new fields |
| Risk checks | The rules an order must pass before it leaves | New rules |
| Router | Which venue each order is sent to | New venues, new routing logic |
| Report handler | Fills and acknowledgements coming back | New report types |
The rest of this lesson is for subscribers
Unlock every lesson in Programming for Quantitative Developers, and every other premium course.
Subscribe to continueTest your knowledge
Questions are only available to subscribers.
Keep reading Programming for Quantitative Developers
25 lessons in this course, and every other premium course, on one subscription.
- Every lesson in every course, with the worked examples and interactive simulators
- Graded questions on every lesson, with explanations for the wrong answers as well as the right one
- The trainers, timed assessments and brainteaser library that go with them