A Developing Developer
IoC 와 DI 본문
Nest.js 는 IoC (Inversion of Control) 컨테이너를 내장하고 있는 프레임워크이다.
IoC 는 애플리케이션의 제어 흐름을 개발자가 작성한 코드에서 외부 컨테이너로 제어의 흐름을 바꾸는 디자인 패턴이다.
이 패턴은 의존성을 관리하고 코드를 더 유연하고 유지보수 가능하도록 만들어준다.
Nest.js 에서는 이러한 IoC 패턴을 사용하여 애플리케이션의 모듈, 서비스, 컨트롤러 등을 관리한다.
Nest.js 의 IoC 컨테이너는 애플리케이션의 클래스와 객체를 생성, 구성 및 제어하며, 이들의 생명주기를 관리한다.
IoC 컨테이너를 사용하면 의존성 주입 (Dependency Injection)이 용이해지며, 다른 클래스와 서비스를 사용하는데 필요한 객체를 애플리케이션의 전역 컨테이너에서 찾아서 가져올 수 있다.
이는 애플리케이션의 코드를 작성하고 테스트하는데 매우 편리하며, 코드를 더 모듈화하고 재사용성을 높일 수 있다.
Nest.js 의 IoC 컨테이너는 클래스 간의 의존성을 자동으로 해결해준다.
예를들어 Nest.js 에서 서비스 A가 서비스 B를 필요로 한다면, IoC 컨테이너는 서비스 A가 생성될 때 서비스 B를 자동으로 주입한다.
이런 방식으로 클래스 간의 의존성을 간단하게 관리할 수 있으며, 클래스 간의 결합도를 낮출 수 있다.
따라스 Nest.js 에서 IoC 컨테이너를 이용하여 애플리케이션을 작성하면 코드의 유지보수성이 좋아지며, 개발자는 코드 작성에 대한 부담을 덜 수 있다.
'개발 상식' 카테고리의 다른 글
TypeORM 에서 'n + 1 problem' 은 어떻게 해결할까? (0) | 2023.02.21 |
---|---|
eager 과 lazy loading (0) | 2023.02.21 |
JavaScript 에서 this 키워드 (0) | 2023.02.20 |
[Javscript] 호이스팅(Hoisting) (0) | 2022.11.28 |
개구간, 폐구간 (0) | 2022.11.23 |