Machine-coding case studies

Design a Vending Machine

Select a product, insert coins, dispense the item, return change. The textbook use-case for modelling behaviour as a STATE machine instead of a tangle of flags. An animated lesson where the diagram draws itself as the design grows.

  • Lesson 2 of 6
  • Animated diagrams

Sign in with Google or GitHub and you land straight on this page. DSA comes with the all labs plan and every ChaiCode batch.

6 lessons, each with diagrams that draw themselves.

What you will learn

  • 1. Clarify requirements (always do this first)
  • 2. The naive boolean-flag mess
  • 3. The State pattern
  • 4. Inventory + Product
  • 5. The transition diagram

More low-level design

Watch Design a Vending Machine take shape

Sign in and the lesson opens with its diagram ready to play, and the rest of Machine-coding case studies beside it.

DSA comes with the all labs plan and every ChaiCode batch.