2011-11-23 2 views
1

디자인 패턴에 대해 읽으면서 템플릿에 비해 전략의 장점은 알고리즘을 캡슐화하고 런타임에 호출 할 수 있다는 점입니다. 반면 템플릿은 서브 클래 싱에 의존합니다. 그러나 템플릿은 하위 클래스를 통해 코드 재사용을 극대화 할 수있는 이점이 있습니다. 그래서 템플릿은 DRY 원칙을 적용한 더 나은 패턴입니다. 그러나 전략 패턴 사용을 중단하고 알고리즘 구현 내에서 템플릿 패턴을 사용하여 각 알고리즘간에 공통된 코드를 공유하거나 나쁜 생각입니까?전략 대 템플릿

답변

1

두 패턴의 조합을 방해하는 것은 없습니다. 전략을 사용하여 알고리즘을 선택 가능하게 만들고 알고리즘의 공통 부분을 재사용하기위한 템플릿 방법을 사용하여 알고리즘을 구현하십시오.

실제 생활 패턴은 종종 결합되며 단일 클래스는 서로 다른 역할을하는 몇 가지 패턴에 참여할 수 있습니다.