A canonical example:
by Rainer Grimm
From the article:
Purpose: Defines a family of algorithms and encapsulates them in objects
Also known as: Policy
- Different variations of an algorithm are needed
- The client does not need to know the algorithm
- The algorithm should be exchangeable at the run time of a program...