This is the famous strategy pattern. Ready for employment.
What this serve ? In Strategy pattern, a class behavior or its algorithm can be changed at run time. This type of design pattern comes under behavior pattern.
In Strategy pattern, we create objects which represent various strategies and a context object whose behavior varies as per its strategy object. The strategy object changes the executing algorithm of the context object.
How to use ? for use the strategy pattern, downloaded all files and write your methods in the StrategyInterface and OperationOne ect... and Context and DemoStrategy