This is a part of a blogpost series listing the design principles and pattern definitions.
The Strategy Pattern
– defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets algorithm vary independently from clients that use it.
Following are few principles adhered in this pattern
- Identify the aspect of your application that vary and separate them from what stays same.
- Program to interface not to an implementation
- Favor composition over inheritance