본문
Template Callback Pattern
프로그래밍/디자인패턴 2016. 1. 18. 10:14
반응형
전략을 익명 내부 클래스로 구현한 전략 패턴
템플릿 콜백 패턴은 전략 패턴의 변형으로, 스프링의 3대 프로그래밍 모델 중 하나인 DI(의존성 주입)에서 사용하는 특별한 형태의 전략 패턴이다. 템플릿 콜백 패턴은 전략 패턴과 모든 것이 동일한데 전략을 익명으로, 내부 클래스로 정의해서 사용한다는 특징이 있다.
※ 전략패턴Strategy Pattern (전략 패턴): https://server-engineer.tistory.com/68
💡 Strategy.java
public interface Strategy {
public abstract void runStrategy();
}
💡 Soldier.java
public class Soldier {
void runContext(String weaponSound) {
System.out.println("전투 시작");
executeWeapon(weaponSound).runStrategy();
System.out.println("전투 종료");
}
private Strategy executeWeapon(final String weaponSound) {
return new Strategy() {
@Override
public void runStrategy() {
System.out.println(weaponSound);
}
};
}
}
💡 Client.java
public class Client {
public static void main(String[] args) {
Soldier soldier = new Soldier();
soldier.runContext("총 총 총");
System.out.println();
soldier.runContext("칼 칼 칼");
System.out.println();
soldier.runContext("도끼 도끼 도끼");
}
}
💡 결과
전투 시작
총 총 총
전투 종료
전투 시작
칼 칼 칼
전투 종료
전투 시작
도끼 도끼 도끼
전투 종료
반응형
댓글