概念
高內(nèi)聚低耦合,是軟件工程中的概念,是判斷軟件設(shè)計(jì)好壞的標(biāo)準(zhǔn),主要用于程序的面向?qū)ο蟮脑O(shè)計(jì),主要看類的內(nèi)聚性是否高,耦合度是否低。
目的
使程序模塊的可重用性、移植性大大增強(qiáng)。
通常程序結(jié)構(gòu)中各模塊的內(nèi)聚程度越高,模塊間的耦合程度就越低。內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系,一個好的內(nèi)聚模塊應(yīng)當(dāng)恰好做一件事,它描述的是模塊內(nèi)的功能聯(lián)系;耦合是軟件結(jié)構(gòu)中各模塊之間相互連接的一種度量,耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度、進(jìn)入或訪問一個模塊的點(diǎn)以及通過接口的數(shù)據(jù)。
(視頻教程推薦:java視頻教程)
降低耦合度的方法
1、少使用類的繼承,多用接口隱藏實(shí)現(xiàn)的細(xì)節(jié)。 Java面向?qū)ο缶幊桃虢涌诔酥С侄鄳B(tài)外, 隱藏實(shí)現(xiàn)細(xì)節(jié)也是其中一個目的。
2、模塊的功能化分盡可能的單一,道理也很簡單,功能單一的模塊供其它模塊調(diào)用的機(jī)會就少。(其實(shí)這是高內(nèi)聚的一種說法,高內(nèi)聚低耦合一般同時(shí)出現(xiàn))。
3、遵循一個定義只在一個地方出現(xiàn)。
4、少使用全局變量。
5、類屬性和方法的聲明少用public,多用private關(guān)鍵字。
6、多用設(shè)計(jì)模式,比如采用MVC的設(shè)計(jì)模式就可以降低界面與業(yè)務(wù)邏輯的耦合度。
7、盡量不用“硬編碼”的方式寫程序,同時(shí)也盡量避免直接用SQL語句操作數(shù)據(jù)庫。
8、最后當(dāng)然就是避免直接操作或調(diào)用其它模塊或類(內(nèi)容耦合);如果模塊間必須存在耦合,原則上盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,避免使用內(nèi)容耦合。
增強(qiáng)內(nèi)聚度方法
1、模塊只對外暴露最小限度的接口,形成最低的依賴關(guān)系。
2、只要對外接口不變,模塊內(nèi)部的修改,就不得影響其他模塊。
3、刪除一個模塊,應(yīng)當(dāng)只影響有依賴關(guān)系的其他模塊,而不應(yīng)該影響其他無關(guān)部分。
推薦教程: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脫衣機(jī)

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)