Java Core trainee
Что такое Strategy?
Ответ
Поведенческий паттерн: вынесение алгоритма в отдельный класс за общим интерфейсом. У клиента — поле типа интерфейса, можно подменять реализацию в рантайме. Например, разные алгоритмы сортировки, разные способы расчёта комиссии.
Разбор: Strategy выносит взаимозаменяемые алгоритмы в отдельные классы за общим интерфейсом, и клиент через поле-интерфейс подменяет реализацию в рантайме. Ловушка: первый вариант описывает Abstract Factory, второй — Decorator, третий — Template Method, который тоже про варьирование алгоритма, но через наследование и фиксированный скелет, а не через композицию и подмену объекта.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.