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