저장을 습관화
NestJS - 컨트롤러 constructor에 private readonly를 설정하는 이유 본문
메모...
정확히는 서비스에서 의존성 주입을 받은 컨트롤러의 생성자(constructor)에
public은 쓰지 않는 이유, private readonly를 쓰는 이유
결론은 클래스를 해당 컨트롤러 내에서만 사용하기 위해서이다.
타 컨트롤러가 Dependency Injection(의존성 주입)된 서비스를 사용한다는 것은 이미 목적을 벗어난 이야기이다.
의존성 주입을 했다는 것은 해당 컨트롤러 안에서만 쓰기 위해서인데,
이 클래스를 public으로 설정해 의존성 주입된 서비스를 바깥에서 쓸 이유는 없다.
바깥에서 쓰고 싶었다면 애초에 바깥에서 쓰지, 의존성 주입한 것을 바깥으로 끄집어 내서 쓰는 것은 무의미하다고 할 수 있다.
'공부 > node.js' 카테고리의 다른 글
NestJS - TypeORM을 위한 app.module.ts 설정 기록 (0) | 2023.11.11 |
---|---|
에러 기록 - Could not resolve dependency: @nestjs/typeorm@"*" from the root project (0) | 2023.11.11 |
NestJS - 인터셉터와 AOP (0) | 2023.11.09 |
NestJS - DTO를 인터페이스가 아닌 클래스로 선언하는 이유 (0) | 2023.11.06 |
NestJS - tsconfig.json의 "esModuleInterop" 옵션 (0) | 2023.11.04 |