PHP策略模式

<?php
abstract class strategy{
abstract function use();
}
class StrategyA extends strategy{
public function use(){
echo "这是使用策略的方法
";
}
}
class StrategyB extends strategy{
public function use(){
echo "这是使用策略的方法
";
}
}

class context{
protected $strategy;
public function setStrategy(strategy $strategy){
$this->strategy = $strategy;
}
public function use(){
$this->strategy->use();
}

}
$context = new context();
$StrategyA = new StrategyA();
$StrategyB = new StrategyB();

$context->setStrategy($StrategyA);
$context->use();
$context->setStrategy($StrategyB);

$context->use();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容