码迷,mamicode.com
首页 > Web开发 > 详细

PHP 策略模式

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

标签:内容   iphone   产品   系统   cti   ted   策略   女性   电子产品   

策略模式:

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

<?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 策略模式

标签:内容   iphone   产品   系统   cti   ted   策略   女性   电子产品   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!