What is High Level Design?
High Level Design (HLD) is the process of designing the overall architecture of a system. It focuses on the big picture - how different components interact, data flows, and system boundaries.
Key Aspects of HLD
- System Architecture: Overall structure and organization
- Component Design: Major modules and their responsibilities
- Data Flow: How data moves through the system
- Technology Choices: Databases, frameworks, protocols
- Integration Points: How components communicate
HLD vs LLD
| High Level Design | Low Level Design |
|---|---|
| System architecture | Class diagrams |
| Component interactions | Method signatures |
| Technology choices | Implementation details |
| Data flow diagrams | Algorithms & logic |