概念
高內(nèi)聚低耦合,是軟體工程中的概念,是判斷軟體設(shè)計(jì)好壞的標(biāo)準(zhǔn),主要用於程式的物件導(dǎo)向的設(shè)計(jì),主要看類別的內(nèi)聚性是否高,耦合度是否低。
目的
使程式模組的可重複使用性、移植性大大增強(qiáng)。
通常程式結(jié)構(gòu)中各模組的內(nèi)聚程度越高,模組間的耦合程度就越低。內(nèi)聚是從功能角度來度量模組內(nèi)的聯(lián)繫,一個(gè)好的內(nèi)聚模組應(yīng)恰好做一件事,它描述的是模組內(nèi)的功能聯(lián)繫;耦合是軟體結(jié)構(gòu)中各模組之間相互連接的一種度量,耦合強(qiáng)弱取決於模組間接口的複雜程度、進(jìn)入或存取一個(gè)模組的點(diǎn)以及通過介面的資料。
(影片教學(xué)推薦:java影片教學(xué))
降低耦合度的方法
1、少用類別的繼承,多用介面隱藏實(shí)作的細(xì)節(jié)。 Java物件導(dǎo)向程式引入介面除了支援多型之外, 隱藏實(shí)作細(xì)節(jié)也是其中一個(gè)目的。
2、模組的功能化分盡可能的單一,道理也很簡單,功能單一的模組供其它模組呼叫的機(jī)會就少。 (其實(shí)這是高內(nèi)聚的一種說法,高內(nèi)聚低耦合一般同時(shí)出現(xiàn))。
3、遵循一個(gè)定義只在一個(gè)地方出現(xiàn)。
4、少使用全域變數(shù)。
5、類別屬性和方法的宣告少用public,多用private關(guān)鍵字。
6、多用設(shè)計(jì)模式,例如採用MVC的設(shè)計(jì)模式就可以降低介面與業(yè)務(wù)邏輯的耦合度。
7、盡量不用「硬編碼」的方式寫程序,同時(shí)也盡量避免直接用SQL語句操作資料庫。
8、最後當(dāng)然就是避免直接操作或呼叫其它模組或類別(內(nèi)容耦合);如果模組間必須存在耦合,原則上盡量使用資料耦合,少用控制耦合,限制公共耦合的範(fàn)圍,避免使用內(nèi)容耦合。
增強(qiáng)內(nèi)聚度方法
1、模組只對外暴露最小限度的接口,形成最低的依賴關(guān)係。
2、只要對外介面不變,模組內(nèi)部的修改,就不得影響其他模組。
3、刪除一個(gè)模組,應(yīng)當(dāng)只影響有依賴關(guān)係的其他模組,而不應(yīng)該影響其他無關(guān)部分。
推薦教學(xué):java入門程式
以上是關(guān)於高內(nèi)聚低耦合概念的理解的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)