[헤드퍼스트 디자인패턴] 전략패턴
·
정보
전략 패턴 (Strategy Pattern)"알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 전략 패턴을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다." - GoF01.전략 패턴이란?전략 패턴은 동일한 목적의 알고리즘을 여러 가지 방식으로 구현하고상황에 따라 원하는 알고리즘을 선택해서 사용하는 디자인 패턴이다. 행동을 사용하는 쪽(Context)과 실제 구현(Strategy)을 분리해서상황에 따라 다른 로직을 쉽게 바꿔 끼울 수 있게 하는 것이 핵심이다. 여기서 중요한 점은 "무엇을 할지"는 Context가 알고 "어떻게 할지"는 Strategy가 결정한다Strategy (인터페이스): 공통 동작 정의Concrete Strategy: 실제 알..