Software Engineering vocabulary · Architecture, Design Patterns and Graphics

Abstraction

Meaning in software engineering, with examples

/æbˈstrækʃn/nounCommon term

In software engineering, abstraction means: Hiding complex details behind a simpler interface, so you can use something without knowing how it works inside, like calling save() without knowing the database query.

In Turkish: soyutlama

How it is used

Developers talk about 'a layer of abstraction', 'the right abstraction' and 'leaky abstractions', which fail to hide their details. Too many abstractions make code hard to follow, so reviewers sometimes say 'this abstraction isn't pulling its weight'.

Example sentences

  1. The storage abstraction lets us switch from local files to S3 without touching the rest of the app.

  2. Three layers of abstraction for one database call is too much.

Common collocations

  • layer of abstraction
  • leaky abstraction
  • the right abstraction
  • premature abstraction

More terms: Architecture, Design Patterns and Graphics

Practise with graded reading

Reading at the right level is the fastest way to make new words stick. Pick free English books by level: