Behavioral Pattern
The strategy pattern is used to create an interchangeable family of algorithms from which the required process is chosen at run-time.
Behavioral Pattern
The template method pattern is used to define the basic steps of an algorithm and allow the implementation of the individual steps to be changed.
Behavioral Pattern
The visitor pattern is used to separate a relatively complex set of structured data classes from the functionality that may be performed upon the data that they hold.