어떤 객체를 수정해야 한다면 코드 자체를 수정하는 것보다 설정 파일을 두어 변경하기 원할하게 할 수 있다. 아래와 같은 상황에서 B1이라는 클래스가 B2로 변경이 되어야 할 때 서비스 파일인 S도 수정이 되어야 하는 불편함이 존재한다.
이 때 인터페이스를 두어 객체 타입을 인터페이스로 선언함으로 결합력을 낮출 수 있다.
나머지 결합력은 객체 생성과 조립을 위한 외부 설정인 XML, Annotation 등을 통해 해소할 수 있으며 해당 설정으로 인스턴스가 생성되어 서비스 파일에 장착되는것을 DI라고 한다.