-
DI 프레임워크 만들기교육 자료 2022. 8. 28. 23:42
DI (Dependency Injection)
- 의존성 주입
- 한 객체가 다른 객체를 사용할 때 의존성이 있다고 함
- "A가 B를 의존한다.(= A가 B에 의존하고 있다)"는 의미는 의존대상 B가 변하면 A에 영향을 미친다는 의미
- 즉, A가 의존 대상 B의 변화에 취약하다는 의미
- 만약, 인터페이스에 대해서 의존관계를 만들어 두면 인터페이스 구현 클래스와의 결합도가 느슨해지면서 변화에 영향을 덜 받게 됨
- 즉, A가 의존 대상 B의 변화에 취약하다는 의미
- "A가 B를 의존한다.(= A가 B에 의존하고 있다)"는 의미는 의존대상 B가 변하면 A에 영향을 미친다는 의미
- 한 객체가 다른 객체를 사용할 때 의존성이 있다고 함
- 런타임 시 의존 관계를 맺는 대상을 외부에서 결정하고 주입해 주는 것
- 스프링 프레임워크는 DI 기능을 지원해주는 프레임워크
- 설정만 해주면 됨
DI 장점
- 의존성 주입을 인터페이스 기반으로 설계하면, 코드가 유연해짐
- 느슨한 결합도(loose coupling)
- 클래스 간의 결합도를 줄일 수 있음
- 변경에 유연해짐
- 결합도가 낮은 객체끼리는 부품을 쉽게 갈아끼울 수 있음
- 느슨한 결합도(loose coupling)
- 테스트하기 좋은 코드가 됨
실습
- DI 프레임워크 만들기
참고 자료
'교육 자료' 카테고리의 다른 글
동적 프록시 객체를 생성하는 방법 (0) 2022.09.14 Tomcat (0) 2022.08.23 MVC 프레임워크 만들기 (0) 2022.08.21 Reflection (0) 2022.08.17 JDBC 프로그래밍 (0) 2022.08.11 - 의존성 주입