<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之旅 廣告
                6.5 最佳實踐 軟件設計最大的難題就是應對需求的變化,但是紛繁復雜的需求變化又是不可預料的。我們要為不可預料的事情做好準備,這本身就是一件非常痛苦的事情,但是大師們還是給我們提出了非常好的6大設計原則以及23個設計模式來“封裝”未來的變化,我們在前5章中講過如下設計原則。 ● Single Responsibility Principle:單一職責原則 ● Open Closed Principle:開閉原則 ● Liskov Substitution Principle:里氏替換原則 ● Law of Demeter:迪米特法則 ● Interface Segregation Principle:接口隔離原則 ● Dependence Inversion Principle:依賴倒置原則 把這6個原則的首字母(里氏替換原則和迪米特法則的首字母重復,只取一個)聯合起來就是SOLID(solid,穩定的),其代表的含義也就是把這6個原則結合使用的好處:建立穩定、靈活、健壯的設計,而開閉原則又是重中之重,是最基礎的原則,是其他5大原則的精神領袖。我們在使用開閉原則時要注意以下幾個問題。 ● 開閉原則也只是一個原則 開閉原則只是精神口號,實現擁抱變化的方法非常多,并不局限于這6大設計原則,但是遵循這6大設計原則基本上可以應對大多數變化。因此,我們在項目中應盡量采用這6大原則,適當時候可以進行擴充,例如通過類文件替換的方式完全可以解決系統中的一些缺陷。大家在開發中比較常用的修復缺陷的方法就是類替換,比如一個軟件產品已經在運行中,發現了一個缺陷,需要修正怎么辦?如果有自動更新功能,則可以下載一個.class文件直接覆蓋原有的class,重新啟動應用(也不一定非要重新啟動)就可以解決問題,也就是通過類文件的替換方式修正了一個缺陷,當然這種方式也可以應用到項目中,正在運行中的項目發現需要增加一個新功能,通過修改原有實現類的方式就可以解決這個問題,前提條件是:類必須做到高內聚、低耦合,否則類文件的替換會引起不可預料的故障。 ● 項目規章非常重要 如果你是一位項目經理或架構師,應盡量讓自己的項目成員穩定,穩定后才能建立高效的團隊文化,章程是一個團隊所有成員共同的知識結晶,也是所有成員必須遵守的約定。優秀的章程能帶給項目帶來非常多的好處,如提高開發效率、降低缺陷率、提高團隊士氣、提高技術成員水平,等等。 ● 預知變化 在實踐中過程中,架構師或項目經理一旦發現有發生變化的可能,或者變化曾經發生過,則需要考慮現有的架構是否可以輕松地實現這一變化。架構師設計一套系統不僅要符合現有的需求,還要適應可能發生的變化,這才是一個優良的架構。 開閉原則是一個終極目標,任何人包括大師級人物都無法百分之百做到,但朝這個方向努力,可以非常顯著地改善一個系統的架構,真正做到“擁抱變化”。
                  <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>

                              哎呀哎呀视频在线观看