[소프트웨어 디자인 패턴] 10. Template Method Pattern

scarleter99·2023년 11월 17일
post-thumbnail

Template Method Pattern

  • 알고리즘 골격을 정의하고 알고리즘의 특정 단계를 서브 클래스에서 구현하거나 재정의한다.
    • 템플릿 메소드를 통해 알고리즘을 수행한다.
  • 후크(hook)는 추상 클래스에서 아무 기능도 없이 선언되어 서브 클래스에서 필요시 오버라이드하는 함수이다.
  • 클라이언트는 어떤 알고리즘이 수행되는지 고려하지 않는다.

적용 방법

  1. 기능을 수행하는 클래스를 캡슐화한 추상 클래스를 정의한다.
    • 알고리즘을 수행하는 템플릿 메소드를 정의한다.
    • 알고리즘의 특정 단계를 추상 메소드로 정의한다.
    • 알고리즘의 특정 단계를 구현하는 클래스를 추상 클래스를 상속받아 정의한다.
  2. 클라이언트는 템플릿 메소드를 통해 알고리즘을 이용한다.

0개의 댓글