中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

PHP如何實現策略模式

發布時間:2021-06-22 14:59:09 來源:億速云 閱讀:154 作者:小新 欄目:開發技術

這篇文章主要介紹了PHP如何實現策略模式,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

比如說購物車系統,在給商品計算總價的時候,普通會員肯定是商品單價乘以數量,但是對中級會員提供8者折扣,對高級會員提供7折折扣,這種場景就可以使用策略模式實現:

<?php
/**
 * 策略模式實例
 *
 */
//抽象策略角色《為接口或者抽象類,給具體策略類繼承》
interface Strategy
{
  public function computePrice($price);
}
//具體策略角色-普通會員策略類
class GenernalMember implements Strategy
{
  public function computePrice($price)
  {
    return $price;
  }
}
//具體策略角色-中級會員策略類
class MiddleMember implements Strategy
{
  public function computePrice($price)
  {
    return $price * 0.8;
  }
}
//具體策略角色-高級會員策略類
class HignMember implements Strategy
{
  public function computePrice($price)
  {
    return $price * 0.7;
  }
}
//環境角色實現類
class Price
{
  //具體策略對象
  private $strategyInstance;
  //構造函數
  public function __construct($instance)
  {
    $this->strategyInstance = $instance;
  }
  public function compute($price)
  {
    return $this->strategyInstance->computePrice($price);
  }
}
//客戶端使用
$p = new Price(new HignMember());
$totalPrice = $p->compute(100);
echo $totalPrice; //70
?>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP如何實現策略模式”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

php
AI

东兰县| 宁陵县| 冀州市| 永登县| 抚松县| 进贤县| 全椒县| 佳木斯市| 闻喜县| 郴州市| 巴林右旗| 寻甸| 揭东县| 乌什县| 湘阴县| 墨玉县| 汤阴县| 台江县| 长阳| 松滋市| 左贡县| 玛纳斯县| 宜春市| 喜德县| 乌鲁木齐县| 漳平市| 桂阳县| 马关县| 错那县| 长武县| 广东省| 新田县| 呼伦贝尔市| 昆山市| 娱乐| 同心县| 蕉岭县| 济南市| 军事| 武隆县| 大庆市|