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 continue

Test 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