[자바와 객체지향 그리고 스프링] 06. 탬플릿 콜백 패턴

코린이서현이·2024년 1월 23일
0

📌 탬플릿 콜백 패턴

탬플릿 콜백 패턴은 전략 패턴의 변형으로, DI에서 사용하는 특별한 형태의 전략 패턴이다.

익명 내부 클래스를 이용해서 전략 객체를 만든다. 그 외에는 전략 패턴과 동일하다.
따라서 OCP와 DIP를 따른다.

전략패턴보러가기

탭플릿 콜백 패턴 코드

코드를 간단히 하기 위해서 컨텍스트 내부에 익명 내부 클래스를 만드는 부분을 만들었다.

전략 객체의 인터페이스

package OOP06.templateCallbachPattern;

public interface Weapon {
  abstract void useWeapon();
}

컨텍스트

package OOP06.templateCallbachPattern;

public class Soldier {

  void fight_Against(String weaponSound){
    System.out.println("전투 시작");
    executeWeapon(weaponSound).useWeapon();
    System.out.println("전투 종료");
  }
  private  Weapon executeWeapon(final String weaponSound){
    return new Weapon() {
      @Override
      public void useWeapon() {
        System.out.println(weaponSound);
      }
    };
  }

클라이언트

package OOP06.templateCallbachPattern;

public class Client {
  public static void main(String[] args) {
    Soldier soldier = new Soldier();

    soldier.fight_Against("🔫");
    soldier.fight_Against("🗡️");
  }

}

실행화면

전투 시작
🔫
전투 종료
전투 시작
🗡️
전투 종료
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글