Паттерн «Стратегия» — это поведенческий шаблон проектирования, который определяет семейство схожих алгоритмов, инкапсулирует каждый из них и обеспечивает их взаимозаменяемость. 13
Используется в случаях, когда в одном и том же месте в зависимости от текущего состояния системы (или её окружения) должны использоваться различные алгоритмы. 1
Некоторые ситуации, когда применяется паттерн «Стратегия»:
- когда есть несколько родственных классов, которые отличаются поведением. 3 Можно задать один основной класс, а разные варианты поведения вынести в отдельные классы и при необходимости их применять; 3
- когда необходимо обеспечить выбор из нескольких вариантов алгоритмов, которые можно легко менять в зависимости от условий; 3
- когда необходимо менять поведение объектов на стадии выполнения программы; 3
- когда класс, применяющий определённую функциональность, ничего не должен знать о её реализации. 3