Abstraction

Domain: Design Principles

🎯 Motivation

Abstraction exposes essential behavior while hiding implementation details. It reduces complexity so you can reason about what something does without knowing how it works inside.

📋 Concrete Example

A sort() function takes a list and returns it sorted. You do not need to know if it uses quicksort or timsort — the interface hides that decision behind a clean name.

🔗 Analogy

A car steering wheel abstracts away the suspension and tire mechanics. You turn the wheel left and the car goes left; you never think about the linkage underneath.