본문 바로가기
nestJS

NestJS | 의존성 주입, 제어의 역전

by 리잼 2024. 11. 6.
반응형

Depencency Injection - 의존성 주입

  • 의존성 주입이란 A, B 라는 클래스가 존재할 때 A가 B의 기능을 사용하고 있다면 A는 B에 의존한다 라고 할 수 있다.
  • 의존하고 있는 값을 주입해준다는  뜻으로 의존성 주입이라고 함

Inversion of Control - 제어의 역전

    • 일반적으로 Instance의 생성과 삭제는 개발자가 관리하는 영역이다.
    • 하지만 이를 프레임워크가 관리하도록 제어권이 역전되는 것을 제어의 역전이라고 한다.

  • NestJS 는 실행과 동시에 IoC 컨테이너가 생성된다
  • 예를 들어 A,C 라는 컨트롤러가 있고, B 라는 서비스를 의존하고 있다면
  • IoC 컨테이너가 B 의 인스턴스를 생성하고 인스턴스 B의 라이프사이클을 제어한다. 
  • 각 컨트롤러에서 서비스 B가 필요할 때마다 IoC 컨테이너가 생성된 인스턴스를 주입해준다. -> 의존성 주입
  • 이로써 개발자의존성이 있는 것들의 생성과 폐기를 신경쓸 필요가 없어지는 것. 기능에 집중할 수 있도록 설계됨

 

반응형