ПАТТЕРН СТРАТЕГИЯ 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

Реклама
Новое
Реклама