Template Method pattern is to define an algorithm as a skeleton of operations and leave the details to be implemented by the child classes. The overall structure and sequence of the algorithm are preserved by the parent class.
For example, we will make a template method for two factor authentication, we can choose to use email authentication or phone authentication.