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