Dependency inversion

Прин­цип инвер­сии зави­си­мо­стей (dependency inversion) — модули верх­них уров­ней не должны зави­сеть от моду­лей ниж­них уров­ней, а оба типа моду­лей должны зави­сеть от абстрак­ций. Сами абстрак­ции не должны зави­сеть от дета­лей, а вот детали должны зави­сеть от абстракций.