1. 의존성 주입(Dependency Injection, DI)
- 객체간의 의존관계를 객체 자신이 아닌 외부의 조립기가 수행한다.
- 제어의 역할 이라는 의미로 사용되었음.
- Martin Fowler, 2004
- 제어의 어떠한 부분이 반전되는가라는 질문에 '의존 관계 주입'이라는 용어를 사용
- 복잡한 어플리케이션은 비지니스 로직을 수행하기 위해서 두 개 이상의 클래스들이 서로 협업을 하면서 구성됨.
- 각각의 객체는 협업하고자 하는 객체의 참조를 얻는 것에 책임성이 있음.
- 이 부분은 높은 결합도와 테스트하기 어려운 코드를 양산함
- DI를 통해 시스템에 있는 각 객체를 조정하는 외부 개체가 객체들에게 생성시에 의존관계를 주어짐
- 즉, 의존이 객체로 주입됨
- 객체가 협업하는 객체의 참조를 어떻게 얻어낼 것인가라는 관점에서 책임성의 역행임
- 느슨한 결함이 주요 강점
- 객체는 인터페이스에 의한 의존관계만을 알고 있으며, 이 의존관계는 구현 클래스에 대한 차이를 모르는 채 서로 다른 구현으로 대체가 가능
'프로그래밍 > Spring Framework' 카테고리의 다른 글
설정을 통한 객체 주입 - Contstructor를 이용 (0) | 2012.06.19 |
---|---|
Spring의 DI 지원, Spring Container 객체 (0) | 2012.06.19 |
Spring xml파일 생성 및 실습하기 - spring_di_01 (0) | 2012.06.19 |
Spring 설정파일 - Bean객체 주입 받기 (0) | 2012.06.19 |
Spring정의 및 장점 (0) | 2012.06.19 |