더북(TheBook)

3.4.2 부분 적용을 이용한 의존성 주입

팩토리 함수는 미리 정의된 컨텍스트를 가진 함수를 반환하는 함수로, 고차 함수(higher order function)의 일종이다. 이전 예제 코드에서 verifyPassword() 함수에 전달된 rules와 날짜를 반환하는 getDayFn이 팩토리 함수가 반환하는 새로운 함수의 컨텍스트에 포함된다. 고차 함수를 사용하면 문자열 입력만으로 실행할 수 있는 새로운 함수를 반환하는 함수를 만들 수 있다.

다음 코드에서는 팩토리 함수를 테스트의 준비(arrange) 단계에서 사용하고, 반환된 함수를 실행(act) 단계에서 호출한다. 준비 단계에서 rulesgetDayFn을 인수로 전달하면서 팩토리 함수가 반환하는 새로운 함수가 이들을 참조할 수 있도록 설정한다.

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