首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 設計模式:策略模式實作電商推薦場景

     編輯:PHP 相關知識

PHP 設計模式:策略模式實作電商推薦場景

策略模式:將一組特定行為與演算法封裝成類別,以適應特定情境。

情境

電商網站依性別導向不同商品分類與廣告位。

程式碼結構

<?php
namespace Baobab;
interface UserStrategy {
    function showAd();
    function showCategory();
}

class FemaleUserStrategy implements UserStrategy {
    function showAd() { echo '2016新款女裝'; }
    function showCategory() { echo '女裝'; }
}

class MaleUserStrategy implements UserStrategy {
    function showAd() { echo 'Iphone6s plus'; }
    function showCategory() { echo '電子產品'; }
}

class Page {
    protected $strategy;
    function Index() {
        $this->strategy->showAd(); echo '<br/>';
        $this->strategy->showCategory();
    }
    function setStrategy(UserStrategy $strategy) { $this->strategy = $strategy; }
}

$page = new Page();
if (isset($_GET['female'])) $strategy = new FemaleUserStrategy();
else $strategy = new MaleUserStrategy();
$page->setStrategy($strategy);
$page->Index();

透過策略模式實現 IoC(控制反轉)與依賴倒置,客戶端無需知道具體策略實作細節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved