
전략 패턴 Strategy Pattern
- 알고리즘군을 정의하고 캡슐화해, 각각의 알고리즘군을 수정하여 쓸 수 있게함.
- 해당 객체들을 상호 교환 가능하게 함.
- 클라이언트로부터 알고리즘을 분리해 독립적인 사용이 가능함!
문제 상황 예
경로 제공 애플리케이션을 제작.
- 자동차 경로 제작
- ++ 도보 경로 제작 필요
- ++ 자전거 경로 제작 필요
- ++ 관광 명소 통과 경로 제작 필요
→ 추가적인 알고리즘마다 전체 클래스에 영향을 미침.
→ 팀원들은 병합 충돌 해결에 많은 시간을 씀.
해결책
- 특정한 작업을 수행하는 클래스들을 가져와 “전략” 클래스로 추출하기.