Encapsulates an algorithm inside a class
  • Define a family of algorithms, encapsulate each one, and make them interchangeable.

  • Strategy lets the algorithm vary independently from clients that use it.

Strategy Design Pattern