Java程式設計關於低耦合與高內聚理念

來源:互聯網
上載者:User

 熟悉Java的人都知道Java程式設計時,為了避免程式的冗雜,減少各個類之間的依耐性,經常使用低耦合和高內聚的設計理念。

      所謂耦合是指在一個軟體結構內不同模組之間互連程度的度量,

       而低耦合就是指在設計一個軟體時,作為一個完整的軟體系統,對於各種模組與模組之間應儘可能的是其獨立的存在,讓每個模組儘可能的獨立完成其特定的功能。

       如果某兩個模組間的關係比較複雜的話,最好首先考慮進一步的模組劃分。這樣有利於修改和組合。

     所謂內聚是指一個模組內各個元素彼此結合的緊密程度。而高內聚就是指在一個模組的內部,應該儘可能的讓每個元素都緊密的相連。

        也就是充分利用每一個元素的功能,各施所能,以最終實現某個功能。
      如果某個元素與該模組的關係比較疏鬆的話,可能該模組的結構還不夠完善,或者是該元素是多餘的。

 

     例如以下有四個類,分別有兩種設計方法 ,

    圖一:           在該圖中    各個類之間呈網狀引用結構,如果寫代碼時也是這種結構,那麼不僅會使代碼很難理解,而且不容易使讀者理解,更重要的時,無法繼續在上面擴充代碼,即你更改某一個類的元素時,同時也會影響到其他的類,因為他們之間的依耐性很高,所謂的“牽一髮而動全身”就是指的這個意思。

 

 

 

    圖二:

 

 

 

 

 

    

 

  在該圖中,我們可以看到類C,B,A都只是為D所用,所以他們相互之間是獨立的,在我們修改代碼時:比如我們修改類C中的代碼,那就不會影響到類B和類A,這樣,只要採用這種星狀結構,不論我們的軟體有多麼的龐大,我們在修繕代碼時也不會有太多的麻煩。

   內聚耦合,包含了橫向和縱向的關係。功能內聚和資料耦合,是我們需要達成的目標。橫向的內聚和耦合,通常體現在系統的各個模組、類之間的關係,而縱向的耦合,體現在系統的各個層次之間的關係。

        高內聚和低耦合是軟體工程設計的一種原則,是寫代碼時要遵循的一種規範

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.