php设计模式策略模式

策略模式:

将一组特定的行为和算法封装成类,以适应某些特定的上下文环境;

实际应用举例,假如一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告。

userstrategy.php

femaleuserstrategy.php

maleuserstrategy.php

page.php

namespace baobab;class page{
protected$strategy;
function index(){
$this->strategy->showad();
echo ”;
$this->strategy->showcategory();
}
function setstrategy(\baobab\userstrategy $strategy){
$this->strategy = $strategy;
}
}

index.php

$page = new baobab\page();
if (isset($_get[‘female’])){
$strategy = new baobab\femaleuserstrategy();
}else{
$strategy = new baobab\maleuserstrategy();
}
$page->setstrategy($strategy);
$page->index();

使用策略模式可实现ioc,依赖倒置、控制反转

以上就介绍了php设计模式 策略模式,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。

Posted in 未分类