[Javascript] 의존성주입: TypeDI

[원본 링크]

typedi는 의존성 주입을 통한 모델 관리 등을 도와주는 라이브러리다.
자바스크립트와 타입스크립트를 둘다 지원한다.

자바스크립트로만 써보자.
여기서 가장 중요한건 Container라는 객체다.

말 그대로 의존성을 관리하는 컨테이너다.
저기에 객체들을 등록하고 꺼내 쓸 것이다.

일단 클래스를 하나 구성한다.
별 의미는 없다.

그리고 컨테이너의 get 메서드를 사용하면 객체를 가져올 수 있다.
이건 몇가지 오버로드 버전이 있는데, 타입 자체를 그대로 받아서 가져올 수도 있다.

타입을 받을 경우엔 객체가 미리 등록되어있지 않아도 등록을 알아서 수행하고 가져온다.

이렇게

제대로 등록을 해서 쓰려면 set 메서드를 사용하면 된다.
타입을 받을 수 있다.

근데 저 방식은 단점이 좀 있는 것 같다.
한 가지 타입에 대해서 하나의 형태를 가진 객체만을 생성할 수 있으며,
가져올때마다 타입을 가져와서 넣어줘야 한다는 것이다.

이런게 싫다면 이름을 직접 지정해서 객체를 등록하는 방법이 있다.
이런 식으로 말이다.

그렇다.


참조
https://github.com/typestack/typedi#usage-with-javascript