strategy-pattern

전략 패턴

전략 패턴은 일반적으로 매우 복잡한 형태의 if-else 분기와 switch-case 분기를 피하기 위해 사용된다.

알고리즘 클래스 컬랙션을 정의하고, 각 알고리즘을 개별적으로 캡슐화하여, 이를 서로 교환 가능하게 만드는 것이며, 전략 패턴은 이를 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.

  • 전략 패턴은 전략의 정의, 생성, 사용을 디커플링한다.
  • 전략이란?
    • 전략은 전략 인터페이스와 이를 구현하는 클래스로 구성된다. 전략은 다른 전략으로 대체 가능하다.
  • 전략 패턴은 if-else 분기를 줄이는 것과 새 전략을 추가할 때 코드 변경을 최소화하는 데에 의의가 있다.