• 특정 계열 알고리즘(전략) 정의
  • 각 알고리즘 캡슐화
  • 이 알고리즘들을 해당 계열 내에서 상호 교체 가능하게 하는 것
  • 전략을 쉽게 교체
  • 변화 되는 부분을 찾고 이를 캡슐화
  • 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());  
        }  
    }  
}