creating a family of the algorithm with each algorithm having its own class. Each of these classes follows the same interface, and this makes the algorithm interchangeable within the family.
so our strategy or algorithm can be changed during the runtime .
more information : https://en.wikipedia.org/wiki/Strategy_pattern
my simple project using strategy design pattern == >FilesTool