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