의존 역전 원칙(dependency inversion principle)은 이렇다. 분석철학자는 아래 그림처럼 심리철학에 의존 관계가 있다.

이 경우 분석철학자의 관심사는 심리철학 뿐아니라, 예술철학과 언어철학에도 의존적인데, 이 경우 의존적인 것을 표현하려면 아래처럼 하면 된다.

이 경우 분석철학자가 하는 철학 분야를 넘나들때 구체적인 철학 분야들(심리철학, 예술철학, 언어철학 등등)이 아닌 추상화된 상위 범주인 분석철학에 의존하게 해서 구체적인 다른 철학 분야로 변경되도 분석철학자의 코드는 큰 영향을 안받게 된다. 이는 개방 폐쇄 원칙과 거의 비슷한 형태의 패턴인데, 중요한 것은 의존 관계가 역전되었다는 것이다. 즉 분석철학에서 심리철학으로 진행된 의존 관계가 분석철학을 사이에 두고 방향이 바뀌었던 것이다.
이 관계를 잘 이용하면 코드적으로 바뀌는 부분에 대한 상대적인 불변의 상태를 가지게 하는 장점이 있게 된다. 분석 철학자의 관심사가 심리철학, 예술철학, 언어철학에서 종교철학이나 인식론으로 확장되더라도 분석 철학자 클래스에서 추가할 코드는 최소화된다. 즉 소스코드의 은닉이나 변경의 최소화가 달성되어 유지보수에 한결 더 나은 코드가 되는 것이다.
이를 인터페이스를 두는 장점이라고 하는데, 스프링 또한 이 원칙을 잘 써서 구현된 구조라 하겠다.