概念
高內(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)系,一個(gè)好的內(nèi)聚模塊應(yīng)當(dāng)恰好做一件事,它描述的是模塊內(nèi)的功能聯(lián)系;耦合是軟件結(jié)構(gòu)中各模塊之間相互連接的一種度量,耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度、進(jìn)入或訪問一個(gè)模塊的點(diǎn)以及通過接口的數(shù)據(jù)。
(視頻教程推薦:java視頻教程)
降低耦合度的方法
1、少使用類的繼承,多用接口隱藏實(shí)現(xiàn)的細(xì)節(jié)。 Java面向?qū)ο缶幊桃虢涌诔酥С侄鄳B(tài)外, 隱藏實(shí)現(xiàn)細(xì)節(jié)也是其中一個(gè)目的。
2、模塊的功能化分盡可能的單一,道理也很簡(jiǎn)單,功能單一的模塊供其它模塊調(diào)用的機(jī)會(huì)就少。(其實(shí)這是高內(nèi)聚的一種說法,高內(nèi)聚低耦合一般同時(shí)出現(xiàn))。
3、遵循一個(gè)定義只在一個(gè)地方出現(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、模塊只對(duì)外暴露最小限度的接口,形成最低的依賴關(guān)系。
2、只要對(duì)外接口不變,模塊內(nèi)部的修改,就不得影響其他模塊。
3、刪除一個(gè)模塊,應(yīng)當(dāng)只影響有依賴關(guān)系的其他模塊,而不應(yīng)該影響其他無關(guān)部分。
推薦教程:java入門程序
以上就是關(guān)于高內(nèi)聚低耦合概念的理解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)