Стратегия, состояние, команда, цепочка обязанностей.
Краткое содержание
Стратегия, состояние, команда, цепочка обязанностей.
Стратегия (Strategy)
Паттерн Стратегия предлагает определить семейство схожих алгоритмов, которые часто изменяются или расширяются, и вынести их в собственные классы, называемые стратегиями.
Когда вспомнить о шаблоне Стратегия?
1. Когда вам нужно использовать разные вариации какого-то алгоритма внутри одного объекта.
2. Когда у вас есть множество похожих классов, отличающихся только некоторым поведением.
3. Когда вы не хотите обнажать детали реализации алгоритмов для других классов.
4. Когда различные вариации алгоритмов реализованы в виде развесистого условного оператора. Каждая ветка такого оператора представляет собой вариацию алгоритма.
Плюсы vs. Минусы
Плюсы:
1. Горячая замена алгоритмов на лету.
2. Изолирует код и данные алгоритмов от остальных классов.
3. Уход от наследования к делегированию.
4. Реализуе