디자인패턴: Template method 패턴

yshjft·2022년 2월 16일
0

Java, OOP

목록 보기
16/27

✔︎ Template method Pattern

  • 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바뀌지 않으면서 특정 단계에 수행하는 내역을 바꾸는 패턴
  • 전체적으로 동일 부분적으로 다른 코드에서 코드 중복을 최소화
  • 동일한 기능을 상위 클래스에 정의 확장/변화가 필요한 부분은 서브 클래스에서 구현
  • 상위 클래스(전체적인 알고리즘), 하위 클래스(상세한 내용)

  • AbstractClass
    • 템플릿 메서드를 정의하는 클래스
    • 하위 클래스에 공통 알고리즘을 정의하고 하위 클래스에서 구현될 기능을 primitive 메서드(hook 메서드)를 정의하는 클래스
  • ConcreteClass
    • 상속 받은 primitive 메서드(hook 메서드)를 구현하는 클래스
    • 적합하게 primitive 메서드(hook 메서드)를 오버라이드 하는 클래스

SOLID 관점

SOLID 관점에서 본 템플릿 메서드 패턴

예제 코드

Template method 패턴 예제 코드

참고

profile
꾸준히 나아가자 🐢

0개의 댓글