Комментарии:
Я так понимаю, шаблонный метод - это такой метод, который описывает определённый алгоритм в котором имеются операции, последовательность выполнения которых не должна меняться. Т.е это, например, как алгоритм строительства дома в котором определённые этапы должны идти друг за другом - это сооружение фундамента, возведение стен, сооружение крыши. Например этот шаблон можно можно использовать для работы с различными БД, т.к алгоритм установления соединения с разными базами он одинаков, а вот реализация этих действий уже может быть разной. Т.е у одного дома фундамент делают на сваях у другого это ЖБ лента, стены можно сделать из кирпича, а можно из дерева, крышу можно сделать односкатной или двухскатной, таким образом реализацию мы можем менять как нам надо, но вот последовательность задана чётко.
Со временем нужно будет изучить Builder - скажем так - у дома есть элемент окно или кирпич - так создание этого элемента не может меняться. А как будем строить дом это шаблон Builder
Научился: шаблонный метод используется в случаях когда при работе с разными классами теребуется произвести серию похожих действий.
например для принятие заказа в ресторане фаст фуд требуется внести заказ, посчитать итоговую сумму, выдать сдачу. Эти действия будут общими для любого заказа. При этом заказы могут отличаться, по признаку требуется ли готовка (гамбургер дополнительное отправление заказа на кухню) или нет (предоставление напитка из бара).
По тем действиям, которые отличаются - в абстрактном классе создается абстрактный метод, который затем реализуется в отдельных классах.
Научился: Интересный паттерн и когда писал сборник игр, вот такие операции, как инициализация запуск пауза результат у всех игр разный, но последовательность действий одинаковая.