Описание тега strategy-pattern
Шаблон стратегии (также известный как шаблон политики) - это шаблон проектирования, с помощью которого можно выбрать поведение алгоритма во время выполнения. Это один из шаблонов поведенческого проектирования "Банды четырех". При использовании этого тега для сложных вопросов реализации - укажите язык кода, на котором написана реализация.
Цель шаблона стратегии - "определить семейство алгоритмов, инкапсулировать каждый из них и сделать их взаимозаменяемыми. Стратегия позволяет алгоритму варьироваться независимо от клиентов, которые его используют".
Узор во многом зависит от композиции. Важным преимуществом этого подхода перед наследованием и простыми переопределениями методов является то, что поведение можно свободно изменять во время выполнения, изменяя реализующий его объект.
Этот шаблон является одним из оригинальных шаблонов проектирования, описанных в "Шаблонах проектирования" Гаммой, Хелмом, Джонсоном и Влиссидесом.