셋째, 고수준 코드는 일반적으로 더 추상적이고, 결과적으로 더 안정적이다. 따라서 코드가 항상 다른 고수준 코드에 의존하게 하면 변경으로 인한 영향을 받을 가능성이 줄어든다.
여러분도 의존성 역전 원칙(Dependency Inversion Principle, DIP)이라는 말을 들어본 적이 있을 것이다. 이 원칙은 세부 사항이 아니라 추상화에 의존해야 한다는 말로서, 방금 설명한 내용을 잘 요약한 원칙이다. 더 나아가 고수준 클래스와 저수준 클래스 모두 추상화에만 의존해야 하며, 다른 저수준 클래스에 의존해서는 안 된다. 나 역시 반드시 추상화에만 의존해야 한다는 원칙을 그리 엄격하게 적용하지는 않는다. 고수준과 저수준의 관심사를 분리하는 것이 불필요한 추상화를 만드는 것보다 더 중요하다. 일부 저수준 구성 요소는 충분히 안정적이어서 추가적인 추상화가 필요하지 않을 수도 있다.