티스토리 뷰

728x90
반응형

템플릿 콜백 패턴(Template Callback Pattern)이란?

- 템플릿 콜백 패턴은 전략 패턴의 변형으로, 스프링 3대 프로그래밍 모델 중 하나인 DI(의존성 주입)에서 사용하는 특별한 형태의 전략 패턴입니다. 

템플릿 콜백 패턴은 전략 패턴과 모든 것이 동일한데 전략을 익명 내부 클래스로 정의해서 사용한다는 특징이 있습니다.

 

원래 기존 전략패턴에서 필요했던 구체클래스들은 StrategyGun.java, StrategyBow.java, StrategySword.java 였지만, 앞서 말했듯 익명 내부 클래스를 사용하기 때문에 필요가 없습니다. 

 

 

위 코드는 자세히 보면 Client.java에서 콜백을 통한 내부 익명 클래스 재정의를 하는 모습이 보입니다.

 

Client.java에서 중복되는 부분을 컨텍스트로 이관하여 리팩토링을 진행하겠습니다.

Solider 클래스 안에 콜백을 구현함으로써 Client쪽 소스가 깔끔해 졌습니다. 위와 같은 코드는 많이 사용하니 반드시 이해하고 알아둬야 합니다. 이렇듯 탬플릿 콜백 패턴(Template Callback Pattern)은 내부 익명 클래스를 가미한 전략 패턴이라고 생각하시면 됩니다. 마지막으로 탬플릿 콜백 패턴(Template Callback Pattern)은 OCP, DIP가 적용된 설계 패턴입니다.

 

참고 - 스프링 입문을 위한 자바 객체지향의 원리와 이해

728x90
반응형