Clean Code: Separating abstractions from concretions

Uncle Bob reminds that source code dependencies should cross the boundaries between the abstract and the concrete pointing from the concrete side towards the abstract side.

Concrete -> Abstract

As in:

Application and Domain Objects
 ^
 |
DB Interface Layer
 |
 v
Database

Source: Clean Code Episode 5 - Form