- 특정 계열 알고리즘(전략) 정의
- 각 알고리즘 캡슐화
- 이 알고리즘들을 해당 계열 내에서 상호 교체 가능하게 하는 것
- 전략을 쉽게 교체
- 변화 되는 부분을 찾고 이를 캡슐화
- Strategy Pattern
- 컨텍스트 안에서 바꿔주면서 상호 교체 가능하게 만드는…

스프링에서의 전략패턴
@Service
public class MyService {
private final Map<String, MyStrategy> strategyMap;
public MyService(Map<String, MyStrategy> strategyMap) {
this.strategyMap = strategyMap;
}
@PostConstruct
public void run() {
for (Map.Entry<String, MyStrategy> entry : strategyMap.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}