Strategy Design Pattern

The Strategy Pattern is a behavior pattern. Whereas an algorithm or class can be changed during run time execution. To employ this pattern, we develop a set of classes that provide implementation strategies and a context object whose behavior is varied based a given strategy object. The strategy object changes the context object’s executing algorithm. Plainly put, the overall idea is the encapsulation of behavior via objects, allowing us to