Strategy — выбор алгоритма в runtime. Классический: интерфейс Strategy с методом execute(), конкретные стратегии наследуются. В Python проще: передаёшь функцию как параметр — это и есть strategy. sorted(data, key=lambda x: x.age) — key это strategy. Можно через dict: strategies = {"fast": quick_sort, "stable": merge_sort}. Или через Protocol/ABC для типизации. Strategy убирает if/elif цепочки, заменяя их полиморфизмом. Легко добавлять новые стратегии без изменения существующего кода.
Как работает паттерн Strategy в Python?
Middle
268 просмотровAFK Offer AI
Реализуйте стек с операциями push, pop, peek и min за O(1)