Java Core trainee

Что такое Strategy?

Ответ

Поведенческий паттерн: вынесение алгоритма в отдельный класс за общим интерфейсом. У клиента — поле типа интерфейса, можно подменять реализацию в рантайме. Например, разные алгоритмы сортировки, разные способы расчёта комиссии.

Разбор: Strategy выносит взаимозаменяемые алгоритмы в отдельные классы за общим интерфейсом, и клиент через поле-интерфейс подменяет реализацию в рантайме. Ловушка: первый вариант описывает Abstract Factory, второй — Decorator, третий — Template Method, который тоже про варьирование алгоритма, но через наследование и фиксированный скелет, а не через композицию и подмену объекта.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться