7. 전략 패턴(Strategy Pattern) 중요
디자인 패턴의 꽃
전략 패턴을 구성하는 세가지 요소
전략 메서드를 사용하는 객체
전략 객체를 사용하는 컨텍스트(사용자)
전략 객체를 생성해 컨텍스트에 주입하는 클라이언트
상속이라는 제한이 있는 템플릿 메서드 패턴보다는 전략 패턴이 더 많이 활용됨.
전략패턴 또한 OCP와 DIP 적용
“클라이언트가 전략을 생성해서 전략을 실행할 컨텍스트에 주입하는 패턴”
변하지 않는 부분을 Context 라는 곳에 두고, 변하는 부분을 Strategy라는 인터페이스를 만들어 해당 인터페이스를 구현하도록 해서 문제를 해결.
전략 패턴에서 Context는 변하지 않는 템플릿 역할을 하고, Strategy는 변하는 알고리즘 역할을 함.
상속이 아닌 위임으로 문제를 해결.
Last updated