Давайте розглянемо приклад функціоналу одноразового пароля (OTP — One Time Password). Він може бути доставлений користувачеві різними шляхами (SMS, електронна пошта і т.ін.), але незалежно від способу доставки, сам процес OTP один і той же:
Створити випадкове число з n-ою кількістю цифр.
Зберегти цей номер у кеш для подальшої верифікації.
Підготувати вміст.
Надіслати сповіщення.
Можливі OTP, які будуть представлені в майбутньому, скоріш за все також будуть використовувати вищевказану процедуру.
У такому випадку кроки конкретної операції однакові, але їхня реалізація може відрізнятися. Така ситуація підходить для використання патерну Шаблонний метод.
Спершу ми визначимо базовий шаблонний алгоритм, який складається з фіксованої кількості методів. Це і буде нашим шаблонним методом. Після цього ми реалізуємо методи для кожного кроку, але шаблонний метод під час цього чіпати не будемо.