<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://box.kancloud.cn/2016-02-29_56d3fe78167f3.png) 索引: ? Move Method(搬移函數) ? Move Field (搬移值域) ? Extract Class (提煉類) ? Inline Class (將類內聯化,就是把當前的類合并到其他類中) ? Hide Delegate (隱藏委托關系) ? Remove Middle Man ( 移除中間人) ? Introduce Foreign Method (引入外加函數) ? Introduce Local Extension (引入本地擴展) 介紹 承接上文PHP 雜談《重構-改善既有代碼的設計》之 重新組織你的函數 ,繼續說重構方面的內容。 專業術語 delegate:委托 encapsulate:封裝 introduce:引入 wrapper:覆蓋 前言 ”決定把責任放在哪里“——運用重構改變原先的設計。 ![](https://box.kancloud.cn/2016-02-29_56d3fe783455b.png) 解釋:   1、Class承擔過多而臃腫不堪——Extract Class將一部分責任分離出去。   2、Class沒有承擔足夠多的責任,不再有單獨存在的理由——Inline Class將它融入另一個Class。   3、Class使用另一個Class——Hide Delegate隱藏關系。   4、承接(3),如果Client通過Middle Man 調用很多的Delegate Class的函數(這里只是簡單調用,只做跳轉,而Middle Man沒有做太多的業務邏輯,如10個Delegate Class中的Method對應10個Middle Man的Method)——Remove Middle Man,直接使用Delegate Class,可以部分使用Delegate Method。 Move Method 如果一個類中的方法與另一個類有很多的交流,那么我們就在另一個類中建立一個有類似功能的新函數,將舊函數變成一個單純的Delegating Method, 或是將舊函數移除。 ![](https://box.kancloud.cn/2016-02-29_56d3fe784d827.png) ![](https://box.kancloud.cn/2016-02-29_56d3fe78696c4.png)![](https://box.kancloud.cn/2016-02-29_56d3fe788d893.png) 動機:   1、如果一個類與另一個類有高度耦合,我就會Move Method。——class更簡單,更干凈利落的實現系統交付的任務。   2、移動一些值域,就要檢查是否使用另一個類的次數必使用所駐對象的次數還多。 Move Field 狀況:你的class中的field被另一個class更多的用到。那么在另一個class里建立new field,修改舊的fi ![](https://box.kancloud.cn/2016-02-29_56d3fe78b3253.png) # http://www.phpxuexi.com/PHPjinjie/201407/3151.html
                  <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>

                              哎呀哎呀视频在线观看