Template Pattern
장점
중복코드 줄이고 , 코드의 재사용성을 높인다.
메인업무를 관리하기 편하다.
추상화 된 메서드의 재정의를 통한 클래스 확장에 유리
상위 클래스 메서드만으로도 전반적은 기능동작을 이해할수 있다.
전략패턴 과 비교
전략패턴(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 CarGame extends Game{
@Override
void initialize() {
System.out.println("레이싱게임초기화 진행중...준비하세요!");
}
@Override
void startPlay() {
System.out.println("레이싱게임 시작!");
}
@Override
void endPlay() {
System.out.println("레이싱게임 종료!");
}
}
public class FootballGame extends Game{
@Override
void initialize() {
System.out.println("축구게임초기화 진행중...준비하세요!");
}
@Override
void startPlay() {
System.out.println("축구게임 시작!");
}
@Override
void endPlay() {
System.out.println("축구게임 종료!");
}
}
public class MainGameTest {
public static void main(String[] args) {
Game game = new FootballGame();
game.play();
System.out.println();
game = new CarGame();
game.play();
}
}
Last updated