首页 > Web开发 > 详细

PHP 策略模式

时间:2016-11-27 22:26:20      阅读:199      评论:0      收藏:0      [点我收藏+]

策略模式:

将一组特定的行为和算法封装成类,以适应某些特定的上下文环境.这种模式就是策略模式.

<?php
namespace FrameWork;
/**
 * 策略模式
 * 根据不同性别展示不同内容
 * 一下代码 示意 一个商城系统 根据用户不同性别 展示不同的广告和分类
 */

interface UserStrategy
{
    //展示广告
    public function showAd();

    //展示分类
    public function showCategory();
}

//男性策略类
class MaleStrategy implements UserStrategy
{
    public function showAd()
    {
        echo ‘男士广告iphone 6s‘;
    }

    public function showCategory()
    {
        echo ‘男士显示电子产品‘;
    }
}

//女性策略类
class FemaleStrategy implements UserStrategy
{
    public function showAd()
    {
        echo ‘女士广告 Dior香水‘;
    }

    public function showCategory()
    {
        echo ‘女士 女装‘;
    }
}

//页面展示类
class Page
{
    protected $strategy;
    //展示页面
    public function Index()
    {
        $this->strategy->showAd();
        $this->strategy->showCategory();
    }

    //设置策略
    public function setStrategy(UserStrategy $strategy)
    {
        $this->strategy = $strategy;
    }
}

if(isset($_REQUEST[‘sex‘])){
    //设置了 性别
    $strategy = new MaleStrategy();
    $page = new Page();
    $page->setStrategy($strategy);
    $page->Index();
}

 

PHP 策略模式

原文:http://www.cnblogs.com/onephp/p/6107012.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!