ПАТТЕРН СТРАТЕГИЯ PHP
Паттерн Стратегия является одним из паттернов поведения (behavioral) и позволяет изменять алгоритм выполнения некоторой задачи в зависимости от контекста.
В PHP применение данного паттерна достаточно распространено, одним из наиболее популярных примеров является использование стратегии в различных фреймворках для обработки форм.
Классическая реализация Стратегии в PHP предполагает наличие Интерфейса, определяющего методы для всех вариантов алгоритма, а также нескольких конкретных классов, реализующих данный Интерфейс и содержащих сами алгоритмы. А контекстом может быть какой-либо класс, у которого есть возможность выбирать наиболее подходящую стратегию для выполнения задачи.
interface Strategy { public function algorithm();}class ConcreteStrategy1 implements Strategy { public function algorithm() { // some code here }}class ConcreteStrategy2 implements Strategy { public function algorithm() { // some code here }}class Context { private $strategy; public function setStrategy(Strategy $strategy) { $this->strategy = $strategy; } public function executeAlgorithm() { $this->strategy->algorithm(); }}
В приведенном примере Интерфейс Strategy
определяет метод algorithm()
, который будет реализован в каждом из конкретных классов, реализующих данный Интерфейс. Основное внимание в данном паттерне уделяется классу Контекст, который хранит текущую стратегию и обращается к ней во время выполнения задачи. Таким образом, внедрение новой стратегии, не влияет на сам Контекст и может быть осуществлено динамически.
Бинарные Опционы: используй НЕЙРОСЕТЬ для торговли на Pocket Option- Трейдинг вышел на НОВЫЙ УРОВЕНЬ
36 - Уроки PHP. Шаблон проектирования Стратегия
Design Patterns: O segredo do Strategy em PHP como nunca te ensinaram!
Важнейший шаблон программирования из 23-х
Стратегия. Strategy ► Шаблон проектирования ► Урок №10
Шаблон проектирования Strategy. Простой пример реализации на PHP.
Шаблон проектирования Стратегия на PHP