의존성 주입(2)
-
Dependency Injection / Inversion of Control [의존성 주입 / 제어의 역전] [NestJS]
인스턴스를 생성하지 않았는데 컨트롤러에서 어떻게 주입을 받고 어떻게 서비스에 대한 권한과 접근이 가능할까? 이는 NestJS의 가장 핵심이 되는 요소중 하나이다. 일반 인스턴스화 클래스 B 를 클래스 A에 사용해야 한다면? class A { const b = B(); } class B { } A라는 클래스를 인스턴스로 만들때마다 A 안에 클래스 B의 인스턴스를 매번 새로 생성하게 된다. DI (Dependency Injection) class A { constructor(instance: B) } class B { } B라는 클래스를 생성을 해서 constructor에 입력해준다. 이를 주입이라고 한다. 외부에서 클래스 A가 생성될 때 무조건 클래스 B에 해당되는 인스턴스를 넣어주도록 정의를 하는 것이다..
2023.12.13 -
IoC, DI [Nest.js]
provider - provider 는 nest.js 의 기본 개념 - 대부분의 nest 클래스는 service, repository, factory, helper 등 provider 로 취급 될 수 있다. - provider 의 주요 아이디어는 dependency 로 주입할 수 있다. - dependency 로 주입 할 수 있다는 의미는 object 가 다른 object 와 다양한 관계를 만들 수 있고, 객체의 instance 를 "wiring up" 기능은 NestJs runtime system 에 위임될 수 있다. IoC Dependency Injection(DI) 는 IoC 기술로 자신의 코드로 종속성을 인스턴스화 하는 대신 IoC 컨테이너(NestJS 런타임 시스템)로 위임한다. 제어의 역전이란..
2023.08.13