php
设计模式 策略模式,php设计模式
策略模式:
将一组特定的行为和算法封装成类,以适应某些特定的上下文环境;
实际应用举例,假如一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告。
UserStrategy.php
FemaleUserStrategy.php
立即学习
“
PHP免费学习笔记(深入)
”;
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
MaleUserStrategy.php
index.php
使用策略模式可实现Ioc,依赖倒置、控制反转
php
namespace Baobab;
interface UserStrategy{
function showAd();
function showCategory();
}
?>php
namespace Baobab;
class FemaleUserStrategy implements UserStrategy{
function showAd(){
echo '2016新款女装';
}
function showCategory(){
echo '女装';
}
}
?>php
namespace Baobab;
class MaleUserStrategy implements UserStrategy{
function showAd(){
echo 'Iphone6s plus';
}
function showCategory(){
echo '电子产品';
}
}
?>class Page{
protected $strategy;
function Index(){
$this->strategy->showAd();
echo '
';
$this->strategy->showCategory();
}
function setStrategy(Baobab\UserStrategy $strategy){
$this->strategy = $strategy;
}
}
$page = new Page();
if (isset($_GET['female'])){
$strategy = new Baobab\FemaleUserStrategy();
}else{
$strategy = new Baobab\MaleUserStrategy();
}
$page->setStrategy($strategy);
$page->Index();