[NestJS] provider / 의존성 주입(DI)

김택수·2022년 5월 1일
0

nest의 패턴 중 중요한 패턴으로 Provider와 의존성 주입이 있다.

먼저 app.service.ts 내의 Injectable 즉 주입가능한 것들을 모아놓은 데코레이터 내의 AppService를 app.module.ts에 Provider(공급자) 로 지정해주고, controllers(소비자)를 AppController로 등록해준다.

app.controller.ts에서 AppController 즉, 소비자로 등록된 것은 Provider 공급자로 등록된 AppService를 주입(제공)받아 사용하게 되고, 제일 하단에 return값으로 appService를 사용해줌으로써, 새로운 제품을 만들어내게 된다.

이 과정이 Nest가 Provider를 사용하여 의존성 주입을 하는 과정이다.

굳이 의존성주입을 하는 이유는 OOP(객체지향 프로그래밍)이 추구하는 실생활과 닮은 프로그래밍 과정의 일환으로, 실생활에서 많이 일어나는 공급자(판매자)와 소비자와의 관계와 맥을 같이하는 프로그래밍을 통해 유지보수가 쉽고, 확장성이 큰 프로그래밍을 하기 위해서 의존성 주입패턴을 사용한다.

profile
개발자 키우기 Lv1

0개의 댓글