Low-Level Design Practice
Turn a short problem statement into clean classes, relationships, patterns and code: parking lots, elevators, booking systems, chat and more.
16 lessons2 h 45 minIntermediate
What you'll learn
0 of 16 lessons complete
Who this is for and what you will be able to do
Who this is for
Developers preparing for object-oriented design interviews, and anyone who wants to practise turning requirements into well-structured code.
After this course you will be able to
- Follow a repeatable method from requirements to classes, patterns and code
- Model entities, relationships and state clearly, and know where each rule belongs
- Choose the right pattern (state, strategy, observer, factory) for the job, and skip it when it is not needed
- Handle concurrency and edge cases in booking, allocation and game-style systems
- Explain trade-offs and extensions in an interview
How a lesson works
Interactive diagram
See how each component connects, then run a request through it.
Plain-words toggle
Switch between the technical explanation and a plain-language one.
Practice design
Change a design of your own in the builder and see how it holds up.
Quiz and exercise
Test your understanding before moving on.
Go deeper
These lessons are written from scratch. The books below are excellent next reads.
- Head First Design Patternsby Freeman and Robsona gentle, example-led introduction to the patterns used here
- Design Patterns: Elements of Reusable Object-Oriented Softwareby Gamma, Helm, Johnson and Vlissidesthe original catalogue
- Refactoring Guru: design patternsby Refactoring Gurufree explanations with examples