耦合是什么?
1.模塊
模塊可大可小,可以是函數(shù),類,功能塊等等
?一個(gè)好的模塊應(yīng)當(dāng)盡可能獨(dú)立完成某個(gè)功能。
耦合主要描述模塊之間的關(guān)系, 內(nèi)聚主要描述模塊內(nèi)部。
通常程序中各模塊的內(nèi)聚程度越高,模塊間的耦合程度就越低。我們寫程序追求高內(nèi)聚,低耦合。
2.內(nèi)聚(塊內(nèi)聯(lián)系)
模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量。
若一個(gè)模塊內(nèi)各元素(語(yǔ)名之間、程序段之間)聯(lián)系的越緊密,則它的內(nèi)聚性就越高。
模塊內(nèi)部的元素,關(guān)聯(lián)性越強(qiáng),則內(nèi)聚越高,單一性越強(qiáng)。如果有各種場(chǎng)景、功能需要被引入到當(dāng)前模塊, 為了維護(hù)代碼質(zhì)量, 建議拆分為多個(gè)模塊。
3.耦合(塊間聯(lián)系)
耦合是各模塊之間相互連接的一種度量。
模塊之間聯(lián)系越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性則越差。
模塊間耦合高低取決于模塊間接口的復(fù)雜性、調(diào)用的方式及傳遞的信息。模塊之間存在依賴,改動(dòng)可能會(huì)互相影響,關(guān)系越緊密,耦合越強(qiáng),模塊獨(dú)立性越差。
比如模塊A直接操作了模塊B中數(shù)據(jù), 則視為強(qiáng)耦合, 若A只是通過數(shù)據(jù)與模塊B交互, 則視為弱耦合。
獨(dú)立的模塊便于擴(kuò)展,維護(hù),寫單元測(cè)試,如果模塊之間重重依賴,會(huì)極大降低開發(fā)效率。
4.原則
追求高內(nèi)聚,低耦合
(1)高內(nèi)聚:一個(gè)軟件模塊是由相關(guān)性很強(qiáng)的代碼組成,只負(fù)責(zé)一項(xiàng)任務(wù),也就是常說的單一責(zé)任原則
(2)低耦合:模塊之間的依賴關(guān)系弱
(3)解耦:解除耦合關(guān)系。
- 模塊間有依賴關(guān)系必然存在耦合,理論上的絕對(duì)零耦合是做不到的,只要降低耦合度即可。
- 讓數(shù)據(jù)模型,業(yè)務(wù)邏輯和視圖顯示三層之間彼此降低耦合,把關(guān)聯(lián)依賴降到最低,而不至于牽一發(fā)而動(dòng)全身。
- A功能的代碼不要寫在B的功能代碼中,如果兩者需要交互,可以通過接口,通過函數(shù),甚至可以引入框架,但總之就是不要直接交叉寫。
總結(jié)
- 上一篇: 2022年最新年终奖个人所得税计算计算方
- 下一篇: 【Linux】【RedHat】下载 安装