Strategy
Where an object should be configurable with one of several algorithms.
Layout Policy for AWT/JFC containers.
Greater flexibility and reuse; easy to add new algorithms/behaviours.
Dynamic switching of algorithms.
Strategies encapsulate private data of algorithms.