define the general steps of a method, while deferring the implementation
of at least one of the steps to a concrete subclass

Example

TxTemplate is an abstract base class which defines a template
method for executing multiple database operations within a transaction.
It's useful to define these steps in one place. The alternative is to
repeat the same structure every time a transaction is required. As usual,
such code repetition should always be aggressively eliminated.

The executeTx method is the template method. It's final,
and defines the general outline of how to execute a database transaction.
The specific database actions to be taken are implemented by calling the
abstract
method executeMultipleSqls.