Skip to content

Latest commit

 

History

History
29 lines (17 loc) · 2.05 KB

File metadata and controls

29 lines (17 loc) · 2.05 KB

Поведенческие шаблоны / Стратегия

Стратегия (Strategy)

Описание паттерна

Поведение - алгоритмы, последовательности операций, выполняемых с определенной целью.

Дает возможность легко менять алгоритм выполнения действий в зависимости от обстоятельств не привязываясь к объектам, которые этот алгоритм используют.

  • можно легко добавлять новые аспекты для конкретного типа поведения, не изменяя существующие классы, которые его используют.

Реализация паттерна

Схема паттерна Команда

Стратегии (варианты поведения объектов) представлены в виде отдельного дерева (семейства) классов, то есть выведены из самих объектов. Объект выбирает свою стратегию и подключает ее посредством композиции.

Примеры

  • Кряканье уток
  • Скидочные карты
  • Игровая приставка. В объект приставки вы можете установить разные игры (стратегии).
  • Сортировка каталога товаров. В зависимости от выбранных параметров, вы можете использовать разные стратегии сортировки (по алфавиту, по цене, и т.д.)

Похожие паттерны