@vrazbros

Пример паттерна стратегии на PHP?

Привет

Разбираюсь с паттерном стратегия и в основном натыкаюсь на пример вроде такого в котором мы делаем что то вроде такого:
1 Создаем обьект класса который отвечает за какойто алгоритм
2 Создаем обьект класса где используется алгоритм, передаем зависимость через конструктор и потом используем через свойство класса.

а кто то может привести реальный пример на php ? что если алгоритм зависит от данных в реквесте ? в контролере добавить кучу if с помошью которых будет выбираться алгоритм ?
  • Вопрос задан
  • 178 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sidni
Php Developer
Ну если по пропростому в целом идея такая (лень код писать)
1) Создаешь кучу объектов класса где будет алгоритм обработки реквеста
1.1)реализуешь в каждом этом объекте метод do($request) - сама обработка реквеста
1.2)реализуешь в каждом этом объекте метод can($request) - можно не весь реквест а какой нибудь флаг этот метод будет возвращать true если этот объект подходит для обработки этого реквеста
2) Создаешь объект класса обработки стратегий,
2.2)в приватном поле опиши массив доступных классов стратегий (можно даже указать неймспейсами а тогда метод can сделать статическим)
2.3)реализуешь метод do($request) где пробегаешься циклом по каждой стратегии вызывая метод can и у того которого вернула true вызываешь do($request)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы