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