투케이2K
84. [IT 용어] DI (Dependency Injection) 의존성 주입 용어 설명 본문
[제 목]
[IT 용어] DI (Dependency Injection) 의존성 주입 용어 설명
[설 명]
1. DI 란 하나의 객체가 다른 객체의 의존성을 제공하는 기술입니다
- [의존성] 은 예를 들어 서비스로 사용할 수 있는 객체입니다
- [주입] 은 의존성(서비스)을 사용하려는 객체(클라이언트)로 전달하는 것을 의미합니다
2. DI 의 의도는 객체의 생성과 사용의 관심을 분리하는 것입니다
3. DI 이점 :
- 의존 관계 설정이 컴파일시가 아닌 실행시에 이루어져 모듈들간의 결합도를 낮출 수 있다.
- 코드 재사용을 높여서 작성된 모듈을 여러 곳에서 소스코드의 수정 없이 사용할 수 있다.
- 모의 객체 등을 이용한 단위 테스트의 편의성을 높여준다.
4. DI 장점 :
- 의존성 주입은 클라이언트의 구성 가능성을 유연하게 해준다. 클라이언트는 클라이언트가 기대하는 고유한 인터페이스를 지원하는 모든 것을 할 수 있다.
- 의존성 주입을 통해 시스템의 구성 세부 사항을 외부의 구성 파일에서 사용하여 리컴파일 없이 시스템을 재구성 할 수 있다. 분리된 구성은 컴포넌트의 여러 구현을 요구하는 다양한 상황을 위해 작성될 수 있다.
- 의존성 주입은 코드의 동작에서의 어떠한 변경도 요구하지 않으므로 리팩터링으로써 레거시 코드에도 적용할 수 있다.
- 의존성 주입을 통해 클라이언트는 사용해야하는 모든 구체적인 구현에 대한 지식을 제거할 수 있다. 디자인 변경이나 결함의 영향으로부터 클라이언트를 독립하는데 도움을 주며, 이는 재사용성, 테스트가능성, 유지가능성을 향상시킨다.
5. DI 프레임워크 :
- Weld
- Spring
- Guice
- Play framework
- Salta
- Glassfish HK2
- Dagger
- Managed Extensibility Framework(MEF)
'IT기술 & IT용어' 카테고리의 다른 글
86. [IT 용어] MIS 경영 정보 시스템 (Management Information Systems) 용어 설명 (0) | 2022.11.01 |
---|---|
85. [IT 기술] 웹스퀘어 (WebSquare) 개념 설명 (0) | 2022.10.31 |
83. [IT 기술] 크롤링 (Crawling) , 스크레이핑(Scraping) 용어 설명 (0) | 2022.10.29 |
82. [IT 용어] [KDD] 데이터마이닝 (Data Mining) 용어 설명 (0) | 2022.10.29 |
81. [IT 용어] 스카우터 (Scouter) 및 APM 용어 설명 (0) | 2022.10.29 |