본문 바로가기
지식/디자인패턴

Head First Design Patterns : Strategy Pattern

by CodeRain 2023. 11. 29.

Strategy pattern

  • 알고리즘군을 정의하고 각각을 캡슐화(encapsulate)하여 교환해서 사용 가능
  • 런타임에 클래스의 동작을 설정.
  • 프로그램 실행 중에 상호 교환될 수 있는 일련의 동작을 구현하기 위한 다형성을 기반으로 하며 설정된 전략에 따라 객체의 동작을 수정 할 수 있음.

 

구조

  • Context, Strategy interface와 그 구현체로 구성

 

적용

  • 런타임 중에 다른 알고리즘으로 전환하고 싶을 때.
  • 일부 행동을 실행하는 방식에만 차이가 있는 유사한 클래스가 많은 경우

 

참조