This pattern is used to describe an algorithm's core steps and allows for changes to the implementation of the individual steps. This pattern is similar to the strategy design pattern, except it modifies certain elements of an algorithm rather than replacing the entire algorithm.
The classes, interfaces, & objects in the above UML class diagram are defined as follows.
The template design pattern is beneficial in the following situations: