• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php设计模式四策略模式

php 搞java代码 3年前 (2022-08-01) 26次浏览 已收录 0个评论
文章目录[隐藏]

策略模式

  1. 策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境
  2. 举例:例如,男女用户跳转到不同的页面,并且所有的广告位展现不同的广告, 如果某天新增了一种中性的性别,则须要在所有判断的中央进行批改,应用策略模式躲避批改
  3. 实现依赖倒置、管制反转
// 策略接口 约定策略的行为
interface UserStrategy {
    public function showAD();
}


// 女性
class FemaleUser implements UserStrategy {
    public function showAD(){
        echo "nv";
    }
}

// 男

class MaleUser implements UserStrategy {
    public function showAD(){
        echo "男";
    }
}


// 展现类
// page类依赖Female和MaleStrategy,然而当初只是依赖UserStrategy,Female和male依赖UserStrategy,从而实现反转,
// 个别依赖反转的实现计划:一个类依赖另一个类,个别是依赖几个办法,将这几个办法形象处一个接口,依赖的类,实现这个借口,就实现了倒置 详情见DIP准则
class Page {
    private $s;
    public function index(){
        $this->a->showAD();
    }
    
    
    public function setStrategy(UserStrategy $class){
        $this->s = $class;
    }
}

// 只在一个中央判断,配置策略对象(Page),其余中央应用
if($type=='male' ){
    $obj = new MaleUser();
}
if($type == 'Female'){
    $obj = new FemaleUser();
}

$p = new Page();
$p->setStrategy($obj);
$p->index();

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php设计模式四策略模式
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址