종속성을 생성하는 일반적인 시나리오
좋은 객체 지향 설계는 클래스가 작고 가능한 적은 책임을 갖도록 권장한다. 이러한 모범 사례를 대규모 클래스에 적용하면 큰 클래스를 여러개의 작은 클래스로 나눌 수 있다. 원래 대규모 클래스의 인스턴스는 이제 새로운 소규모 클래스의 인스턴스에 의존한다.
두개의 뷰 컨트롤러가 있다고 가정 했을 때, 이들에게 동일한 네트워킹 코드가 있음을 발견했다.
네트워킹 코드를 별도의 클래스로 추출한다. 뷰 컨트롤러는 이제 새로운 네트워킹 클래스에 의존하게 된다. 좋은 아키텍처 앱은 구성 요소를 재사용 가능성을 높이고 중복성을 낮춘다.
대부분의 경우 소규모 클래스를 만들면 개발 및 테스트 중에 제어할 수 없는 사이드 이펙트를 수반한다.