container resolve

컨테이너 의존성 조립

InversifyJS 예시에서 개발자는 심볼과 구현체를 바인딩하고, `get`을 호출하면 컨테이너가 생성자 의존성을 찾아 주입합니다.

01

토큰 정의

TYPES.ILogger

인터페이스는 런타임에 사라지므로 Symbol 같은 식별자로 요청 대상을 표시합니다.

02

구현체 바인딩

bind(ILogger).to(ConsoleLogger)

컨테이너가 어떤 구현 클래스를 만들지 중앙 설정으로 기록합니다.

03

의존성 해석

@inject(TYPES.ILogger)

UserService 생성자에 필요한 Logger 구현체를 등록 정보에서 찾습니다.

04

인스턴스 반환

container.get(UserService)

ConsoleLogger가 주입된 UserService를 받아 비즈니스 코드에서 사용합니다.

변경 지점

FileLogger로 바꾸고 싶을 때 UserService 코드를 고치지 않고 바인딩만 바꾸는 것이 IoC 컨테이너의 핵심 효과입니다.