각 Context가 사용할 수 있는 알고리즘 군을 정의하고 각각을 캡슐화하여 사용 할 수 있도록 만드는 패턴.
(디자인 패턴 사이트에서 사용한 예를 번역해 보았다.)
지도를 활용해 최적의 루트를 알려주는 네비게이션 앱 개발자라고 가정해 보자.
처음에는 도로 상에서 움직이는 자동차를 기준으로 네비게이션 알고리즘을 적용했을 것이다.
하지만 네이버 지도처럼 사용자가 자전거, 퀵보드 혹은 버스를 이용하여 이동한다고 가정했을때, 이 네비게이션 알고리즘은 각각의 client에 맞춰 점차 늘어날 것이다.
이때 사용 할 수 있는것이 stratagy pattern이다.

기본 구조는 위와 같다.