<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## **策略模式** 策略模式指的是程序中涉及決策控制的一種模式,是一組算法的封裝,動態選擇需要的算法并使用。 ## 策略模式的三種角色 抽象策略角色 具體策略角色 環境角色(對抽象策略角色的引用) ## 策略模式實現步驟 1.定義抽象角色類(定義好各個實現的共同抽象方法) 2.定義具體策略類(具體實現父類的共同方法) 3.定義環境角色類(傳入抽象角色類,調用抽象策略類方法) 策略模式,生活中的實例: 例如下班回家,我可以有幾個策略考慮:我可以騎單車,乘坐公交車,乘地鐵等策略 還比如網站開發個人中心頁面,不同的用戶類型顯示個人主頁不一樣,這個可以使用策略模式,即針對不同的用戶使用不同的策略。 ## 策略模式設計代碼實現 ~~~ //抽象策略類 abstract class BaseUserStratege{ abstract public function center();//個人中心 } //具體策略普通用戶策略 class CommonUserStratege extends BaseUserStratege{ public function center() { echo 'common user center'; } } //具體策略VIP用戶策略 class VipUserStratege extends BaseUserStratege{ public function center() { echo 'vip user center'; } } //環境角色,對抽象策略類的引用 class UserStrategeContext{ private $baseUserStratege = null; public function __construct($baseUserStratege) { $this->baseUser = $baseUser; } public function center(){ return $this->baseUserStratege->center(); } } //根據不同用戶類型創建不同的具體決策類,比如vip用戶,就創建VipUser策略 $user = new VipUserStratege(); $userStrategeContext = new UserStrategeContext($user); $userStrategeContext->center(); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看