耦合(coupling)表示兩個子系統(或類)之間的關聯程度。當乙個子系統(或類)發生變化時對另乙個子系統(或類)的影響很小,則稱它們是鬆散耦合的;反之,如果變化的影響很大時,則稱它們是緊密耦合的。耦合的強弱取決於模組間接間的複雜性、引用模組的位置和資料的傳送方式等。
解耦就是解除耦合關係。模組間有依賴關係必然存在耦合,理論上的絕對零耦合是做不到的,但可以通過一些現有的方法將耦合度降至最低。
解耦方法有但不限有如下幾種:
(a)採用現有設計模式實現解耦,如事件驅動模式、觀察者模式、責任鏈模式等都可以達到解耦的目的;
(b)採用面向介面的方式程式設計,而不是用直接的型別引用,除非在最小內聚單元內部。但使用該方法解耦需要注意不要濫用介面。
(c)高內聚,往往會帶來一定程度的低耦合度。高內聚決定了內部自行依賴,對外只提供必須的介面或訊息物件,那麼由此即可達成較低的耦合度。
耦合,緊耦合,松耦合,解耦
一 耦合 耦合是兩個或多個模組之間的相互關聯。在軟體工程中,兩個模組之間的耦合度越高,維護成本越高。因此,在系統架構的設計過程中,應減少各個模組之間的耦合度,以提高應用的可維護性。二 緊耦合 緊耦合架構本質是client server的模型,如下圖所示 優點是 架構簡單 設計簡單 開發周期短 能夠快...
資料庫耦合 解耦
隨著業務越來越複雜,資料量越來越大,併發量越來越大,資料庫的效能越來越低。好不容易找運維申請了兩台機器,讓dba部署了幾個例項,想把一些業務庫拆分出來,卻發現拆不出來,擴不了容,尷尬!因為資料庫強關聯在一起,無法通過增加資料庫例項擴容,就是乙個耦合的典型案例。場景還原 有乙個公共使用者資料庫db u...
耦合是什麼?如何做到解耦?
一 耦合 耦合指的是兩個類之間的聯絡的緊密程度 強耦合 類之間存在著直接關係 弱耦合 在兩個類的中間加入一層,將原來的直接關係變成間接關係,使得兩個類對中間層是強耦合,兩類之間變為弱耦合 二 解耦 1.什麼是解耦 在軟體工程中,降低耦合度即可以理解為解耦,也就是將強耦合變為弱耦合的過程。模組間有依賴...