Skip to content
BytePatterns

What Is Low-Level Design

Low-Level Design: lesson 1 of 10

Below the boxes and arrows sit the classes that do the work.

Lesson 1 of 10 · 4 min

What Is Low-Level Design

Step 1 of 11

High-level design stops here: which services exist, and who calls whom.

The Idea

High-level design says which services exist. Low-level design goes inside one of them: which classes there are, what each one owns, what it refuses to do, and which methods they call on each other. Interviewers want the nouns, the responsibilities, and a defence of where you cut.

Real-World Example

A house extension. The planning drawing shows a room and a bathroom. The plumber's drawing decides which wall carries the soil stack and where the isolation valves sit — so a leaking tap can be shut off without draining the whole house.

The Tradeoff

Designing every class up front costs hours and freezes decisions you do not understand yet. Design too little and the first change edits twenty files. Skip the exercise for a throwaway script: the work only pays back where code will be read and changed repeatedly.

Your turn

Put the steps in the right order.

  1. Fix responsibilities: what each class owns and what it refuses
  2. List the nouns the problem talks about — the candidate classes
  3. Clarify the requirements and the actions the system must support
  4. Define the methods and how the objects call one another

Mini quiz

1 / 3

Low-level design is mainly about: