[Description] Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it. [In Design Patterns] Yes [In Code Complete[14]] Yes [Other] N/A [Name] 
Strategy