배경
- 의존성 주입은 소프트웨어 설계의 기본이라고 볼 수 있어요.
- 어떤 것을 직접 의존할지(높은 의존), 간접적으로 의존할지(약한 의존)를 선택하는 것에 대해서 배워요.
- 한가지 프레임워크가 아니라 다양한 방법들을 살펴보고 이를 통해 의존성 주입의 개념에 대해 확실하게 학습해요.
의존성?
- 소프트웨어에서 어떠한 기능/로직을 구동시키기 위해서 다른 모듈이 필요할때가 있어요.
- 이것들을 “의존성”이라고 불러요. (A 모듈은 B 모듈에 의존한다 = 의존성을 가진다)
의존성 주입?
의존성 주입은 어떠한 기능이 외부 요소에 의존하는 것을 그 요소 자체가 아니라 “인터페이스”로 만들어 추상화 할 수 있도록 도와주는 테크닉이에요.
의존성 주입이 안된 코드
import { myApiClient } from "./myApiClient"; async function myFeature() { myApiClient.fetch(...); }
의존성 주입이 된 코드