더북(TheBook)

모듈은 다음과 같이 사용된다.


var preserve = MyApp.wildlifePreserveSimulator(realAnimalMaker);
preserve.addAnimal(gorilla, female);

이 모듈은 객체 리터럴을 반환하나 animalMaker 같은 의존성을 외부 함수에 주입하여 리터럴에서 참조하게 만들 수도 있다.

다른 모듈에 주입할 수 있어 확장성이 좋다. 옛 버전 모듈을 새 버전 모듈에 주입하여 원하는 대로 래핑, 표출, 확장 등을 꾀할 수 있다. 1장에서 배운 개방/폐쇄 원칙이 최우선 관심사라면 모듈만한 것도 또 없다.

먼저 MyApp.wildlifePreserveSimulatorafter 어드바이스를 넣어 반환된 객체에 애스팩트(2장 참고)를 적용하는 방법도 있다. 이 어드바이스는 반환된 리터럴을 쥐고 있다가 필요에 따라 이 리터럴을 다른 애스팩트로 수정하게 될 것이다.

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