반응형
템플릿 메서드 패턴은, 팩토리 메서드 패턴과 유사하다.
팩토리 메서드 패턴처럼 프로그램의 뼈대를 만드는데 사용된다.
다만, 팩토리 메서드 패턴이 생성에 초점을 맞춘 패턴이고, 템플릿 메서드 패턴은 단계 수행에 초점을 맞춘 패턴이다.
템플릿 메서드 패턴은 유사한 프로그램의 뼈대들의 일반화를 제공하기 때문에, 공통되는 단계만 구현을 하고, 추가 및 수정되는 단계는 서브클래스에서 구현한다.
게임의 모드를 예로 들겠다.
게임의 모드를 스토리 모드, 무한 모드, 배틀로얄 모드를 만든다
세 가지 모드의 기본 구조는 아래와 같다.
위에서 공통되는 부분만 찾아 남겨보면,
위와 같이 구분할 수 있다.
기본 프로그램의 뼈대는 위와 같으며, 그 외의 필요한 부분은 각 각의 모드에서 구현할 수 있도록 한다.
알아 둘 것! 프로그램의 뼈대를 기본으로 하기 때문에, 가상 함수가 없어도 진행이 될 수 있어야하며, 되도록이면 부모 클래스의 가상 함수도 서브 클래스에서 실행 해주는 것이 바람직하다.
반응형
'프로그래밍 끄적 > 디자인 패턴 (Design Pattern)' 카테고리의 다른 글
[디자인 패턴] 방문자 패턴 (Visitor Pattern) (0) | 2018.09.09 |
---|---|
[디자인 패턴] 전략 패턴 (Strategy Pattern) (0) | 2018.09.06 |
[디자인 패턴] 상태 패턴 (State Pattern) (0) | 2018.09.04 |
[디자인 패턴] 감시자 패턴 (Observer Pattern) (0) | 2018.09.03 |
[디자인 패턴] 메멘토 패턴 (Memento Pattern) (0) | 2018.08.25 |