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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 章節七 在對象之間搬移特性 在對象的設計過程中,「決定把責任放在哪兒」即使不是最重要的事,也是最重要的事之一。我使用對象技術已經十多年了,但還是不能一開始就保證做對。這曾經讓我很煩惱,但現在我知道,在這種情況下,我可以運用重構(refactoring),改變自己原先的設計。 常常我可以只運用 Move Method 和Move Field 簡單地移動對象行為,就可以解決這些問題。如果這兩個重構手法都需要用到,我會首先使用Move Field,再使用Move Method。 class往往會因為承擔過多責任而變得臃腫不堪。這種情況下,我會使用Extract Class 將一部分責任分離出去。如果一個class變得太「不負責任」,我就會使用Inline Class 將它融入另一個class。如果一個class使用了另一個class,運用Hide Delegate 將這種關系隱藏起來通常是有幫助的。有時候隱藏delegate class會導致擁有者的接口經常變化,此時需要使用Remove Middle Man。 本章的最后兩項重構——Introduce Foreign Method 和Introduce Local Extension ——比較特殊。只有當我不能訪問某個class的源碼,卻又想把其他責任移進這個不可修改的class時,我才會使用這兩個重構手法。如果我想加入的只是一或兩個函數,我會使用Introduce Foreign Method;如果不止一兩個函數,我就使用Introduce Local Extension。
                  <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>

                              哎呀哎呀视频在线观看