Strategy Pattern - sivakrsna/DesignPatterns GitHub Wiki
The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it
The strategy pattern works when you favor composition over inheritance
Problem
Solution