의존성 역전 원리(DIP)는 소스 코드 종속성이 구체화가 아닌 추상화만을 참조하는 시스템이 가장 유연하다는 것을 알려준다. a. 상위 레벨 모듈은 하위 레벨 모듈에 의존해서는 안된다. 둘 다 추상화에 의존해야 한다. b. 추상화는 세부사항에 의존해서는 안 된다. 세부 사항은 추상화에 따라 달라져야 한다.
구체적인 유형 대신 추상화(즉, 추상적인 클래스 또는 개념)에 의존하도록 지향하라.