투케이2K

84. [IT 용어] DI (Dependency Injection) 의존성 주입 용어 설명 본문

IT기술 & IT용어

84. [IT 용어] DI (Dependency Injection) 의존성 주입 용어 설명

투케이2K 2022. 10. 30. 07:09

[제 목]

[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)

 
반응형
Comments