為什麼要高內聚低耦合?

來源:互聯網
上載者:User

             首先我覺的有必要聲明高內聚低耦合是基於物件導向思想的概念,所以撇開物件導向這個基本思想來理解高內聚低耦合可能比較不容易。但是網路上的文章和部落格大多隻是單純的以高內聚低耦合來談高內聚低耦合。本篇部落格試圖結合物件導向的思想來談高內聚低耦合,看看是不是比較容易理解。

        所謂內聚是指:模組內部各部分之間的聯絡,以七個等級來表示模組內各部分聯絡的程度。

        所謂耦合是指:模組間的聯絡,分七個等級來表示模組間的聯絡的程度。

        大家都知道高內聚低耦合是衡量一個軟體品質的重要標準,但是為什麼呢?

        首先物件導向的主要特點是封裝、繼承和多態。實質上是將本來混亂的代碼儘可能的抽象出共性,分門別類。最終達到複用,提高開發效率和保證軟體品質的目的。大家知道蜘蛛以網來捕捉昆蟲,因為網中的各個節點是互相聯絡的,這樣增加了蜘蛛網的韌性不容易被昆蟲衝破。而物件導向追求的是代碼複用和運行穩定,即在模組之間減少聯絡。可以想象,如果各模組之間聯絡太過緊密對於代碼複用是不容易的,因為很難會再找到同樣適合的環境。同時對於運行來說也是不利的,軟體發生錯誤是不可避免的,那麼各模組如果聯絡緊密則錯一處而動全身,好比多米諾骨牌。所以一個好的軟體各模組之間的聯絡不能過分緊密,即低耦合。

       物件導向的思想追求的是每個模組的動能單一,模組間越獨立越好。即在劃分模組時,只有為了完成一個功能的各個元素才會被劃分到一個模組中。所以模組內部的各個元素必須是聯絡緊密的,否則就說明模組劃分還沒有到位。所以模組內部需是聯絡緊密的,即高內聚。

       不知道是不是能說清楚為什麼高內聚低耦合是軟體品質的標準!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.