의존
- 기능 구현을 위해 다른 구성 요소를 사용하는 것
- 의존은 변경이 전파될 가능성을 의미
순환의존
- 순환 의존 → 변경 연쇄 전파 가능성
의존하는 대상은 적을 수록 좋음
의존 대상이 많은 경우
기능이 많은 경우
- 한 클래스에서 많은 기능을 제공
- 각 기능마다 의존하는 대상이 다를 수 있음
- 한 기능 변경이 다른 기능에 영향을 줄 수 있음
- 기능 별로 클래스를 분리 고려
- 각 클래스 별로 의존이 줄어듦
- 한 기능을 수정할 때 다른 기능과 관련된 수정을 하지 않아도 됨
- 기능 테스트도 수월해짐
묶어보기
- 몇 가지 의존 대상을 단일 기능으로 묶어서 생각하여 의존을 줄임
의존 대상 객체를 직접 생성하면??
- 생성 클래스가 바뀌면 의존하는 코드도 바뀌게 됨
의존 주입 (Dependency Injection)
- 외부에서 의존 객체를 주입
- 생성자나 메서드를 이용해서 주입
조립기 (Assembler)
조립기가 객체 생성, 의존 주입 처리 (Spring Framework)