DI (Dependency Injection)
- 의존성 주입
- 한 객체가 다른 객체를 사용할 때 의존성이 있다고 함
- 런타임 시 의존 관계를 맺는 대상을 외부에서 결정하고 주입해 주는 것
- 스프링 프레임워크는 DI 기능을 지원해주는 프레임워크
DI 장점
- 의존성 주입을 인터페이스 기반으로 설계하면, 코드가 유연해짐
- 느슨한 결합도 (loose coupling)
- 변경에 유연해짐
- 결합도가 낮은 객체끼리는 부품을 쉽게 갈아끼울 수 있음
예를 들어 A가 직접 B에 의존하도록 하기 보다는 중간에 Interface를 두어서 결합도가 느슨해지도록 하여 변화에 영향을 덜 받게 되도록 설계를 하기도 합니다.
Runtime시 의존관계를 맺는 대상을 외부에서 결정하고 주입해 주는 것을 의미합니다.
또한 변경에 유연해지게 설계할 수 있으며 결합도가 낮은 객체 끼리는 부품을 쉽게 갈아 끼울 수 있습니다.
또한 테스트하기 좋은 코드가 될 수 있습니다.
'MVC' 카테고리의 다른 글
MVC 프레임워크 개념 소개 (3) | 2024.10.11 |
---|---|
프런트 컨트롤러 개념 소개 (8) | 2024.10.10 |
리플랙션 API 개념 소개 (6) | 2024.10.10 |