인프런 커뮤니티 질문&답변
모듈은 기본적으로 공급자를 캡슐화
작성
·
266
답변 1
0
안녕하세요 :)
답변 드립니다. 더 궁금하신 점 있으시면 언제든지 답글 달아주세요!
1. 모듈은 기본적으로 공급자를 캡슐화 한다는 말이
nest.js 자체에서 서로다른 패키지의 클래스가 무작위하게
혼용되어 사용되는 케이스를 방지하기 위해 내장되어있는 기능일까요?
-> 네 맞습니다. 공급자들은 "IoC 컨테이너"에 등록되게 되고, 컨테이너가 인스턴스화 뿐 아니라 관계도 관리를 하는데요. 이 관계가 꼬이지 않게 하기위해서 캡슐에 등록된 친구들만 서로 참조가 가능하게 되어있습니다.
2. 잘은 모르지만 자바나 그런곳에서 다른패키지여도 import하면 사용이 가능하지 않나요?
-> 제가 이해를 잘 못하였지만, 답변을 해보자면 Java(Spring)에서는 DI를 하긴하는데 NestJS처럼 캡슐화를 하지는 않습니다. 이는 NestJS가 Angular를 보고 영감을 얻은 것 같습니다. library(패키지) 같은 경우 그냥 import 해서 사용할 수 있습니다. 하지만, 한번 쓰는 패키지가 아니라 반복적으로 쓰는 패키지면 따로 class를 만들어서 사용하는 편입니다.





.png?w=112)