Repaso
EspaƱol
System DesignFoundationsSD-44

High-level design vs low-level design?

Options

  1. High-level: components; low-level: internal classes (Correct option)
  2. They are the same thing under two different names
  3. High-level design means a more expensive system
  4. Low-level design means writing assembly code only

Answer

High-level: the big components and how they interact (services, databases, queues); low-level: what happens inside one component (classes, methods, data models)

Why

High-level design (HLD): boxes and arrows. Which services exist? Where is the data stored? Where is a cache or a queue used?

Low-level design (LLD): inside a box. Which classes and interfaces? What methods and fields? Which design patterns?

'Design a URL shortener' is usually HLD. 'Design a parking lot' is usually LLD (object-oriented design).

Remember

HLD = components. LLD = classes and methods.

Key terms

Practice this question in Repaso