<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                #### 適配器模式 > 在[設計模式](https://zh.wikipedia.org/wiki/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F_(%E8%AE%A1%E7%AE%97%E6%9C%BA)中,**適配器模式**(英語:adapter pattern)有時候也稱包裝樣式或者包裝(wrapper)。將一個[類](https://zh.wikipedia.org/wiki/%E7%B1%BB_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6))的接口轉接成用戶所期待的。一個適配使得因接口不兼容而不能在一起工作的類工作在一起,做法是將類自己的接口包裹在一個已存在的類中。 > > \---維基百科 顧名思義,此模式是源于類似于電源適配器的設計和編碼技巧。比如現在有一些類,提供一些可用的接口,但是可能客戶端因為不兼容的原因,不能直接調用這些現有的接口,這時就需要一個適配器來作為中轉站,適配器類可以向用戶提供可用的接口,其內部將收到的請求轉換為對適配者對應接口的真實請求,從而實現對不兼容的類的復用。 優點:將目標類和適配者類解耦,通過引入一個適配器類來重用現有的適配者類,而無須修改原有代碼。增加了類的透明性和復用性,將具體的實現封裝在適配者類中,對于客戶端類來說是透明的,而且提高了適配者的復用性。 `角色:` Target:目標抽象類 Adapter:適配器類 Adaptee:適配者類 Client:客戶類 `UML 類圖:` ![此處輸入圖片的描述](https://doc.shiyanlou.com/document-uid108299labid2297timestamp1486370324222.png) `示例代碼:`:`Adapter.class.php` ~~~php <?php class Adaptee { public function realRequest() { echo "這是被適配者真正的調用方法"; } } interface Target{ public function request(); } class Adapter implements Target { protected $adaptee; function __construct(Adaptee $adaptee) { $this->adaptee = $adaptee; } public function request() { echo "適配器轉換:"; $this->adaptee->realRequest(); } } $adaptee = new Adaptee(); $target = new Adapter($adaptee); $target->request(); ~~~
                  <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>

                              哎呀哎呀视频在线观看