더북(TheBook)

3.7.1 생성자 주입

생성자 주입은 클래스의 생성자를 이용하여 의존성을 주입하는 설계를 의미한다. 자바스크립트 프레임워크 중 하나인 앵귤러(Angular)는 ‘services’라는 이름으로 의존성을 주입하는 방식을 흔하게 사용한다. 생성자를 주입하는 방식은 다양한 상황에서 효과적으로 사용할 수 있다.

스테이트풀 클래스가 장점이 없는 것은 아니다. 한 번만 설정하면 다음부터는 재사용할 수 있어 반복 작업을 줄일 수 있다.

비밀번호 검증 프로젝트에 상태 값을 추가하고 생성자 주입으로 dayOfWeekFn을 매개변수로 전달 받기 위해 다음과 같은 설계를 사용할 수 있다.

예제 3-10 생성자 주입 방식

// stub-time/02-inject-object/password-verifier-time01.js
class PasswordVerifier {
    constructor(rules, dayOfWeekFn) {
        this.rules = rules;
        this.dayOfWeek = dayOfWeekFn;
    }


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.