전략 패턴

알고리즘의 패밀리 정의(같은 패턴의 동작을 하는 객체)하고, 목적과 상태에 따라 상호 교환(선택)할 수 있도록 하는 패턴입니다.

실제 적용 예시

  • 운송수단의 정의(공항을 간다)가 되고, 내가 현재 어떤 상태인지에 따라 그 전략중 하나를 선택 할수 있습니다.

언제 사용할까 ?

전략 패턴의 장점은 하나의 목표를 위해 다양한 방법을 정의할수 있습니다. 그리고 그 방법은 상태에 따라 달리지기 때문에 다양한 상태에서 방법을 선택해서 효율적으로 행동하기 위해서 좋습니다.

장점

  • 런타임에서 사용(구현)을 교체하면서 효과적인 방법을 찾아갈수 있다.
  • 상속대신 합성을 쓸수 있다.

단점

  • 상태가 많지 않을땐 불필요
  • 전략의 차이점과 목적이 정의되어야 한다.