It is often the case that runtime conditions force the developer to define several ways of doing the same thing. Traditionally, this involved a massive
if/elseif/else block of commands. You would then either have to define large blocks of logic inside the
if statement, or create a series of functions or methods to enable the different approaches. The strategy pattern attempts to formalize this process by having the primary class encapsulate a series of sub-classes that represent different approaches to solve the same problem.
GetSethydrator class defined previously as a strategy. We will define a primary
Application\Generic\Hydrator\Anyclass, which will then ...