Чему научился:
абстрактный класс хранит в себе неизменяемый алгоритм действий, применяемый в массовом порядке Клиент обращается к абстрактному классу, а тот в свою очередь делегирует выполнение определённого алгоритма конкретным классам, обращающимся к абстрактному за инструкциями.
Ежегодно у меня в рамках профессиональных обязанностей приходится обновлять корневые сертификаты всех пунктов моего региона. Их 600. И это 600 однотипных прохождений одного и того же. Залогиниться, десяток одинаковых, с малыми вариациями, кликов ПКМ, указание файла откуда взять обновку, проверка успешности обновления и выход. И так 600 раз. Если этого не делать - танцы с бубном, здравствуйте! Если это делать - немного тупеешь на время однообразного тыкания. Со временем скорость маслания мышью растёт, но идея автоматизации процесса всё равно витает в воздухе. Любопытно, поможет ли этот курс найти решение для подобной рутины.
Клиент обращается к абстрактному классу, а тот в свою очередь делегирует выполнение определённого алгоритма конкретным классам, обращающимся к абстрактному за инструкциями. Теоретически можно
Научился: шаблонный метод используется в случаях когда при работе с разными классами теребуется произвести серию похожих действий.
например для принятие заказа в ресторане фаст фуд требуется внести заказ, посчитать итоговую сумму, выдать сдачу. Эти действия будут общими для любого заказа. При этом заказы могут отличаться, по признаку требуется ли готовка (гамбургер дополнительное отправление заказа на кухню) или нет (предоставление напитка из бара).
По тем действиям, которые отличаются - в абстрактном классе создается абстрактный метод, который затем реализуется в отдельных классах.
Научился: Интересный паттерн и когда писал сборник игр, вот такие операции, как инициализация запуск пауза результат у всех игр разный, но последовательность действий одинаковая.