Benefit:
• The Template Method pattern is a very common technique for reusing code.
Applicable Scenarios:
• You want to implement the nonvarying parts of an algorithm in a single class and the varying parts of the algorithm in subclasses.
• Common behavior among subclasses should be moved to a single common class, avoiding duplication.