Skip to content

Latest commit

 

History

History
24 lines (21 loc) · 1.48 KB

File metadata and controls

24 lines (21 loc) · 1.48 KB

템플릿 메서드란

템플릿 메서드란 부모 클래스에서 알고리즘의 골격을 정의하지만 해당 알고리즘의 구조를 변경하지 않고
자식 클래스들이 알고리즘의 특정 단계들을 오버라이드(재정의)할수 있도록 하는 디자인 패턴 스크린샷 2022-11-13 오후 2 26 12


템플릿 콜백(Template-Callback) 패턴

콜백으로 상속 대신 위임을 사용하는 템플릿 패턴
상속대신 익명 내부 클래스 또는 람다 표현식을 활용할 수 있다. 스크린샷 2022-11-13 오후 2 26 52

전략 패턴처럼 어떤 전략을 제공해주는 거라 볼수 있다. 다른 점은 여러개 메소드를 가지고 있을수 있지만 콜백 패턴 같은 경우는 하나만 가능. 좋은 점은 상속을 사용하지 않아도 된다. 또한 이 패턴은 스프링에서 많이 쓰이고 있다.


장단점

  • 장점
    • 템플릿 코드를 재사용하고 중복 코드를 줄일 수 있다.
    • 템플릿 코드를 변경하지 않고 상속을 받아서 구체적인 알고리즘만 변경할 수 있다.
  • 단점
    • 리스코프 치환 원칙을 위반할 수도 있다.
    • 알고리즘 구조가 복잡할수록 템플릿을 유지하기 어려워진다.