Abstractions in System Design
In this lesson1 sections
Abstractions in System Design
Abstraction lets you reason about a component through its interface and guarantees without following every implementation step. The useful question is which details can be hidden for the decision at hand, and which constraints still matter to the caller.
What is abstraction?
Abstraction presents the properties needed for a task while leaving other details out. This reduces the amount you must consider at once. The bird illustration below shows how a general representation can support a discussion without describing every species.
This abstraction allows us to discuss birds as a general category without analyzing specific details.
Note: The right level of detail depends on the question. A general bird shape may be enough to identify a category; a question about flight would need more specific properties.
The rest of this lesson is for Premium members
Premium opens every lesson in this course, along with all questions and solutions on PracHub.