템플릿 메소드 적용(wiht python)
1. 템플릿 메소드 패턴이란?
템플릿 메소드 패턴 정의
메소드에서 알고리즘의 골격을 정의합니다. 알고리즘의 여러 단계 중 일부는 서브 클래스에서 구현할 수 있습니다. 템플릿 메소드를 이용하면 알고리즘의 구조는 그대로 유지하면서 서브클래스에서 특정 단계를 재정의할 수 있습니다.
sourcemaking 이미지 참고
- 간단히 말하면 알고리즘의 틀을 만들기 위한 것
- 틀(템플릿)이란? 일련의 단계들로 알고리즘을 정의한 메소드
2. 템플릿 메소드 적용하기 🗞
여러 뉴스 사이트 최신 정보 수집기를 템플릿 메소드를 적용해서 만들어 보자. 순서는 아래와 같다.
- url 얻고 피드 서버에 요청 보낸다
- 가공되지 않은 콘텐츠 얻는다
- 파싱한다.
- 사용자에게 출력해서 보내준다.
UML 다이어그램
코드
- 추상 클래스: 탬플릿 메소드 정의
- 구상 클래스 : GoogleParser, YahooParser
- test 코드
소스 코드
참고
- python design patterns - python 예제 코드로 배우는 핵심 디자인 패턴