나만 이해하도록 불친절하게 작성되어 있습니다.
자세한 내용은 책을 보세요.
Strategy
- 기술적으로는 전형적인 polymorphysm이고 위임을 사용한다는 특징이 있다. 의미적으로는 알고리즘(전략)을 외부에서 정의해서 교환 가능하다는 특징이 있다.
- Template Method나 Bridge 패턴이랑 유사.
- Strategy에는 전략을 수행할 execute()가 정의되어 있으며 필요하다면 내부 전략을 수립하는 데 도움이되는 feedback이나 data들을 넣어주는 메소드도 정의될 수 있다.
- ConcreteStrategy는 보통 싱글톤으로 구현한다.
- 전략을 사용하는 Context는 Strategy를 사용하는데 이때 위임의 방식을 사용한다. (동일한 메소드 이름을 갖는 경우도 있다)
댓글 없음:
댓글 쓰기