OOP and design
Free Low-level design lessons
8 lessons, about 2 hours in all. Each teaches one idea with a visual, then gives you a problem or a few questions on it. Read the lessons here, then create a free account to practise and keep your progress.
Stage 0The approach
- From requirements to classesA repeatable method for starting any low-level design: clarify, find entities, assign responsibilities, then refine.13 min
- Relationships and diagramsAssociation, aggregation, composition, inheritance and dependency, how to draw them, and how a sequence diagram shows a flow.13 min
Stage 1Case studies
- Case study: LRU cacheA cache that evicts the least recently used entry, with O(1) get and put: the data structure design and why it is two structures.13 min
- Case study: parking lotEntities, spot allocation and fee calculation, and where strategy and factory earn their place.14 min
- Case study: elevator systemA state machine and a scheduling policy: how an elevator decides where to go next, and how requests are modelled.14 min
- Case study: library managementEntities, lending rules and invariants: where the borrow limit, due dates and fines belong.12 min
- Case study: expense splitterShared expenses, who owes whom, and the net-balance technique that settles a group with the fewest payments.14 min
- Case study: movie ticket bookingSeats are a shared, scarce resource: the model, the double-booking race, and how holds, locks and constraints prevent it.14 min
All of Low-level design is free
That’s the whole topic, from the first idea to the mastery stage, with no card needed. Create a free account to practise, keep your progress and carry on to the next topic.
Create your free account