概念:策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。
<?php
/**
* 抽象策略模式
*/
interface Strategy
{
public function AlgorithmInterface();
}
/**
* 具体策略模式
*/
class ConcreteStrategyA implements Strategy
{
public function AlgorithmInterface()
{
var_dump(‘A实现‘);
}
}
class ConcreteStrategyB implements Strategy
{
public function AlgorithmInterface()
{
var_dump(‘B实现‘);
}
}
class ConcreteStrategyC implements Stratergy
{
public function AlgorithmInterface()
{
var_dump(‘C实现‘);
}
}
/**
* 客户环境类
*/
class Context
{
public function __contruct($stratergy)
{
$this->stratergy=$$stratergy;
}
public function contextInterface()
{
$this->stratergy->AlgorithmInterface();
}
}
$a = new Context(new ConcreteStrategyA());
$a->contextInterface();
cr:https://blog.csdn.net/qq_32300363/article/details/70916768
原文:https://www.cnblogs.com/nycj/p/14518642.html