Template method defines the structure of an algorithm in superclass and defers some steps to subclasses. It lets one redefine certain steps of an algorithm without changing the algorithm's structure
Ref: http://www.oodesign.com/template-method-pattern.html