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

溫馨提示×

溫馨提示×

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

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

PHP設計模式-策略模式Strategy

發布時間:2020-08-28 10:14:16 來源:網絡 閱讀:967 作者:侯施群 欄目:web開發

1.策略模式概念
策略模式針對一組算法,將每一個算法封裝到具有共同接口的獨立的類中,此模式讓算法的變化獨立于使用算法的客戶。從而讓程序結構更靈活,具有更好的擴展性和維護性
2.策略模式結構圖
PHP設計模式-策略模式Strategy
3.策略模式角色說明
    抽象策略(Strategy)角色:定義所有支持的算法的公共接口。通常是以一個接口或抽象來實現。Context使用這個接口來調用其ConcreteStrategy定義的算法。
    具體策略(ConcreteStrategy)角色:以Strategy接口實現某具體算法
    環境(Context)角色:持有一個Strategy類的引用,用一個ConcreteStrategy對象來配置
4.策略模式實例 

<?php
/**
 * 抽象策略角色,以接口實現
 */
interface Strategy {  
  /**
   * 算法接口
   */
  public function algorithmInterface();
}  
/**
 * 具體策略角色A
 */
class ConcreteStrategyA implements Strategy {
  
  public function algorithmInterface() {
    echo 'algorithmInterface A<br />';
  }
}  
/**
 * 具體策略角色B
 */
class ConcreteStrategyB implements Strategy {
  
  public function algorithmInterface() {
    echo 'algorithmInterface B<br />';
  }
}  
/**
 * 具體策略角色C
 */
class ConcreteStrategyC implements Strategy {
  
  public function algorithmInterface() {
    echo 'algorithmInterface C<br />';
  }
}
  
/**
 * 環境角色
 */
class Context {
  /* 引用的策略 */
  private $_strategy;
  
  public function __construct(Strategy $strategy) {
    $this->_strategy = $strategy;
  }
  
  public function contextInterface() {
    $this->_strategy->algorithmInterface();
  }
  
}  
/**
 * 客戶端
 */
class Client {
  
  /**
   * Main program.
   */
  public static function main() {
    $strategyA = new ConcreteStrategyA();
    $context = new Context($strategyA);
    $context->contextInterface();
  
    $strategyB = new ConcreteStrategyB();
    $context = new Context($strategyB);
    $context->contextInterface();
  
    $strategyC = new ConcreteStrategyC();
    $context = new Context($strategyC);
    $context->contextInterface();
  }
  
}  
Client::main();
?>
向AI問一下細節

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

AI

黄大仙区| 河北区| 景洪市| 仁布县| 镇原县| 白沙| 化德县| 柘荣县| 额敏县| 屯留县| 格尔木市| 马龙县| 金寨县| 兴化市| 观塘区| 宁国市| 兴海县| 金门县| 乌什县| 辽阳市| 大邑县| 准格尔旗| 凭祥市| 舟曲县| 尼木县| 通化市| 商丘市| 清新县| 革吉县| 六盘水市| 吴桥县| 漠河县| 论坛| 龙胜| 佛冈县| 淳安县| 莎车县| 邵阳市| 治县。| 镇宁| 武宁县|