add test - BoxingDayPricingServiceTest
Extract Class - BoxingDayPricingCalculation
make it pass
add test - BoxingDayPricingCalculationTest

BoxingDayPricingServiceTest를 복사해서 BoxingDayPricingCalculationTest를 추
Extract Interface - PriceCalculation

이제 StandardPricingService와 BoxingDayPricingService는 아무런 구현 코드가 없다.
그저 StandardPriceCalculation나 BoxingDayPriceCalculation로 가격 계산을 위임하는 것이 전부이다.
2개의 가격 계산 클래스들은 동일한 public method를 갖는다. 이 public 메소드를 PriceCalculation이라는 인터페이스로 추출하고 2개의 클래스이 이 인터페이스를 구현하도록 한다.
Inject

이제 Extract, Inject, Kill 접근법에서 Inject를 할 단계에 이르렀다.
템플릿 메소드를 정의하는 부모클래스에 원하는 행위를 주입만하면 된다.
클래스 계층의 최상위에 있는 PricingService#calculateProductPrice 메소드에 PriceCalculation 구현체를 주입하면 된다.
template 메소드인 PricingService#calculateProductPrice는 제거되었고, 이 행위는 서브 클래스에 의해 구현되는 것이 아니라 주입되었다.
Kill

Extract, Inject, Kill에서 Kill을 수행.
add class-diagram-2.png