유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

테스트-NestJS강의-6-overview-provider

김팔복TV

2025. 8. 24.

0

#backend
  • 네스트 JS 프로바이더는 서비스, 리포지토리, 팩토리, 헬퍼 등 다양한 클래스로 사용될 수 있으며, 의존성 주입(DI)을 가능하게 함 🔄
  • 네스트 JS는 솔리드 원칙을 따르는 객체 지향 설계를 권장하며, 이는 코드의 유지보수성과 확장성을 높임 🛠️
  • 단일 책임 원칙(SRP)은 클래스가 하나의 책임만 가져야 함을 강조하며, 유저 서비스와 이메일 서비스 분리 예시를 통해 설명 📧
  • 개방 폐쇄 원칙(OCP)은 확장에 열려 있고 수정에 닫혀 있어야 함을 의미하며, 알림 기능 추가 시 기존 코드 수정 없이 확장이 가능해야 함 🔔
  • 리스코프 치환 원칙(LSP)은 자식 클래스가 부모 클래스를 대체할 수 있어야 함을 의미하며, 자식 클래스의 동작이 부모 클래스와 일관되어야 함 👪
  • 인터페이스 분리 원칙(ISP)은 큰 인터페이스 대신 작은 인터페이스 여러 개를 사용하는 것이 좋음을 강조하며, 필요한 기능만 선택적으로 사용 가능해야 함 🧩
  • 의존 역전 원칙(DIP)은 구현체보다 추상화에 의존해야 함을 의미하며, 결제 서비스 교체 시 코드 수정 없이 유연하게 대처 가능해야 함 💡
  • 네스트 JS에서 서비스는 비즈니스 로직을 담당하며, 컨트롤러는 요청을 서비스에 위임하고 결과를 받아옴 ⚙️
  • @Injectable() 데코레이터를 사용하여 클래스를 프로바이더로 등록하고, IOC 컨테이너에서 관리되도록 함 💉
  • IOC 컨테이너는 객체 생성을 외부 컨테이너에 위임하여 의존성 주입을 용이하게 하고, 객체 생명주기를 관리함 📦
  • 프로바이더 스코프는 디폴트, 리퀘스트, 트랜지언트 세 가지 종류가 있으며, 디폴트는 애플리케이션 시작 시 인스턴스화, 리퀘스트는 요청마다 새로운 인스턴스 생성, 트랜지언트는 매번 새로운 인스턴스 생성 ♻️
  • 프로바이더 등록은 모듈 데코레이터의 providers 배열에 서비스를 추가하여 컨트롤러에서 주입 가능하도록 함 ➕
  • 모듈은 기능별로 묶어 관리하며, 루트 모듈에서 다른 모듈을 임포트하여 라우팅에 연결할 수 있음 📂

Recommanded Videos