목표 설정

종속성 생성

종속성을 생성하는 일반적인 시나리오

Refectoring massive classes

좋은 객체 지향 설계는 클래스가 작고 가능한 적은 책임을 갖도록 권장한다. 이러한 모범 사례를 대규모 클래스에 적용하면 큰 클래스를 여러개의 작은 클래스로 나눌 수 있다. 원래 대규모 클래스의 인스턴스는 이제 새로운 소규모 클래스의 인스턴스에 의존한다.

Removing duplicate code

두개의 뷰 컨트롤러가 있다고 가정 했을 때, 이들에게 동일한 네트워킹 코드가 있음을 발견했다.

네트워킹 코드를 별도의 클래스로 추출한다. 뷰 컨트롤러는 이제 새로운 네트워킹 클래스에 의존하게 된다. 좋은 아키텍처 앱은 구성 요소를 재사용 가능성을 높이고 중복성을 낮춘다.

Controlling side effects

대부분의 경우 소규모 클래스를 만들면 개발 및 테스트 중에 제어할 수 없는 사이드 이펙트를 수반한다.

The fundamental considerations (기본 고려 사항)