91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP設計模式:策略模式

發布時間:2020-06-07 17:27:53 來源:網絡 閱讀:1822 作者:hgditren 欄目:web開發

步驟1.定義策略接口

#UserStrategy.php 用戶策略

<?php

namespace celvmoshi;

/**用戶策略接口
 * Interface UserStategy
 * @package celvmoshi
 */
interface UserStrategy
{
    //顯示廣告
    public function showAd();

    //顯示分類
    public function showCategory();

}


步驟2.實現策略業務

#FemaleStrategy.php 女性用戶策略
<?php
namespace celvmoshi;

/**女性用戶策略
 * Class FemaleStrayegy
 * @package celvmoshi
 */
class FemaleStrategy implements UserStrategy
{
    public function showAd()
    {
        echo "2017 新潮女裝\r\n";
    }

    public function showCategory()
    {
        echo "服裝\r\n";
    }
}


繼續添加策略

#MaleStrategy.php 男性用戶策略

<?php
namespace celvmoshi;

/**男性用戶策略
 * Class MaleStrayegy
 * @package celvmoshi
 */

class MaleStrategy implements UserStrategy
{
    //顯示廣告
    public function showAd()
    {
        echo "新款寶馬X6\r\n";
    }

    //顯示分類
    public function showCategory()
    {
        echo "小汽車\r\n";
    }
}



步驟3.在實際業務場景中運用策略

本實例的業務場景為:根據男女、性用戶自動區分廣告及分類

#index.php 默認業務訪問入口

<?php
define('ROOT', __DIR__ . '/');

//實現自動加載
spl_autoload_register('autoload');
function autoload($className)
{
    $arr = explode('\\', $className);
    require_once ROOT . ucfirst($arr[1]) . '.php';
}

class Page
{
    protected $strategy;//顯示策略

    public function index()
    {
        echo "顯示廣告:";
        $this->strategy->showAd();

        echo "<hr>";

        echo "顯示分類:";
        $this->strategy->showCategory();


    }

    //設置顯示策略
    public function setStrategy(celvmoshi\UserStrategy $strategy)//(約定接口類型)
    {
        $this->strategy = $strategy;
    }
}

$page = new Page();
if (isset($_GET['female'])) {
    $userStrategy = new celvmoshi\FemaleStrategy();
} else if (isset($_GET['male'])) {
    $userStrategy = new celvmoshi\MaleStrategy();
} else {
    return;
}

$page->setStrategy($userStrategy);
$page->index();



至此已大功告成!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中超| 明溪县| 迭部县| 江都市| 连云港市| 泾源县| 蓬安县| 蛟河市| 长武县| 合山市| 双江| 齐齐哈尔市| 中超| 武安市| 会同县| 三亚市| 阿克苏市| 横峰县| 泗洪县| 十堰市| 奉化市| 商水县| 靖宇县| 大兴区| 闽清县| 富顺县| 丰城市| 泰州市| 宾川县| 沙河市| 定安县| 张北县| 竹溪县| 铜川市| 扶余县| 民乐县| 莆田市| 蓝山县| 合阳县| 中超| 沈阳市|