Abstraction
The short answer · 14 words
In short
Abstraction reduces technical details to an interface or view relevant to the particular task.
Flow-alerta.cab (2026): Abstraction. https://flow-alerta.cab/en/glossar/abstraction. Editorially reviewed on: 09 October 2026.
How much detail would you like?
Practical
Central to understandable, maintainable and extensible software. Good abstractions reduce coupling and make changes easier; poor abstractions can add complexity.
Possible example: A web application uses a payment service via a uniform interface. Whether provider A or B works behind it remains hidden for large parts of the application.
Possible applications: decoupling software components, API design, integration of external services, reuse of components and step-by-step modernisation of existing systems.
At a glance
- Core
- Software development hides implementation details that are not relevant to the current task and provides stable concepts, interfaces or modules. This lets you work with a system without knowing every internal step.
- Use
- Central to understandable, maintainable and extensible software. Good abstractions reduce coupling and make changes easier; poor abstractions can add complexity.
- Example
- Possible example: A web application uses a payment service via a uniform interface. Whether provider A or B works behind it remains hidden for large parts of the application.
- Limits
- Abstract too early; artificially force different cases under a common interface; hide important differences; create too many layers of abstraction; ignore leaky abstractions.
In context
Abstract Data Type
An abstract data type defines data about permitted operations and their behavior without specifying the concrete internal implementation.
Application Programming Interface (API)
Defined interface through which software uses functions or data of other components.
Application Programming Interface (API)
Defined interface through which software uses functions or data of other components.
Questions about this term
What is the difference with Encapsulation?
Encapsulation bundles and protects implementation details; abstraction primarily describes the relevant view or interface.
Is more abstraction always better?
No, it has to bring a concrete comprehensibility or maintainability advantage.
All details and background
Software development hides implementation details that are not relevant to the current task and provides stable concepts, interfaces or modules. This lets you work with a system without knowing every internal step.
ELI5 – Explained simply
You drive a car using the steering wheel and pedals without operating the entire engine control system. These controls form an abstraction over the technology.
Why it matters in practice
Central to understandable, maintainable and extensible software. Good abstractions reduce coupling and make changes easier; poor abstractions can add complexity.
Example
Possible example: A web application uses a payment service via a uniform interface. Whether provider A or B works behind it remains hidden for large parts of the application.
Pitfalls and limits
- Abstract too early; artificially force different cases under a common interface; hide important differences; create too many layers of abstraction; ignore leaky abstractions.
Origin & history
Work on modularization and information hiding, such as David Parnas in 1972, and research on data abstraction in the 1970s, shaped important foundations of modern software architecture.
Use in mid-sized companies
- Possible applications: decoupling software components, API design, integration of external services, reuse of components and step-by-step modernisation of existing systems.
Related terms
- Abstract Data Type
- Encapsulation
- Information Hiding
- Interface
- Modularity
- API
Matching Flow-alerta service
Websites & web applicationsWebsites & web applications: technical web implementation.Matching tool / use case
View use casesPossible use: a uniform interface for an external service; for example, with TypeScript interfaces and clearly described behavior.Sources
- web.mit.eduMIT, Abstract Data Types (Abstraktion und Information Hiding)
- doi.orgParnas (1972), Originalarbeit / ACM
Quellenprüfung: 09.10.2026. Anwendungsbeispiele sind mögliche Szenarien, keine behaupteten Kundenfälle.
Editorially reviewed on: