전략패턴(Strategy Pattern)과 Template Pattern은 사용 목적으로 구분된다. 전략패턴은 알고리즘에 대한 숨김, 그리고 쉽게 교체,변경 할수 있음. 하지만 Tempate Pattern 은 알고리즘의 특정 단계만 컨트롤하고 싶을경우 사용한다.
코드 예시
public abstract class Game {
abstract void initialize();
abstract void startPlay();
abstract void endPlay();
public final void play(){
initialize();
startPlay();
endPlay();
}
}
public class MainGameTest {
public static void main(String[] args) {
Game game = new FootballGame();
game.play();
System.out.println();
game = new CarGame();
game.play();
}
}