Design Pattern for Smalltalk – Template method

t_Dpsc_chapter05_TempleteMethod_01

Template method 패턴은 그 내용을 보면 전체적으로 프로그래밍 할 때의 규칙이 클래스 수준으로 축소된 것이라고 보면 좀 더 이해하기 좋다. Template method 패턴에 대해 [디자인 패턴]에서 언급되어 있듯이 “refactoring of generalise” 라는 표현이 이 패턴에 대한 정확한 표현일 것이다. 기존의 프로그램 코드에서 공통적으로 사용할 수 있는 부분을 추려내고, 이렇게 추려내진 부분을 추상클래스에 정리한다. 그리고 특화되어 구현되어야 하는 부분을 하위클래스에 구현한다. 이렇게 공통부와 비공통부를 클래스 수준으로 구현하는 것이 Template method의 기본이 된다.

추상클래스에 존재하는 Template method 클래스의 내부에는 로직만 존재하며, 로직의 내부에는 메서드들이 나열되어있다. 이렇게 로직이 안쪽에서 사용되는 메서드의 구체적 구현은 하위클래스에서 이루어진다.

Template method상위클래스에는 논리의 흐름만 있을 뿐, 흐름에서 필요한 구체적인 동작의 구현을 하위클래스에서 위임하는 형태가 Template method 패턴이다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.