耦合是什麼?如何做到解耦?

2021-09-02 22:36:07 字數 494 閱讀 4463

一、耦合

耦合指的是兩個類之間的聯絡的緊密程度;

強耦合:類之間存在著直接關係

弱耦合:在兩個類的中間加入一層,將原來的直接關係變成間接關係,使得兩個類對中間層是強耦合,兩類之間變為弱耦合

二、解耦

1.什麼是解耦

在軟體工程中,降低耦合度即可以理解為解耦,也就是將強耦合變為弱耦合的過程。模組間有依賴關係必然存在耦合,理論上的絕對零耦合是做不到的,但可以通過一些現有的方法將耦合度降至最低

2.為什麼要進行解耦

在軟體工程中,物件之間的耦合度就是物件之間的依賴性。物件之間的耦合越高,維護成本越高,因此物件的設計應使類和構件之間的耦合最小,把關聯依賴降到最低,而不會產生牽一髮而動全身的現象

3.如何解耦

解耦的核心思想:若要減少**的耦合度,一定要盡量做到各個功能的**不能交叉編寫,編寫封閉的**。

方法:1)設立介面

2)引入框架

3)避免使用全域性變數

4)避免相似函式

IOC控制反轉是如何做到解耦和的

原來就了解過ioc控制反轉的設計思想,也看過一些文章,總覺得自己好像都看得懂,也知道在講什麼,知道其能很好的解耦和,卻隱隱約約又感覺自己好像還差了點什麼。這次有點小運氣,在寫自己的迷你框架的時候,寫到中途突然有種或豁然開朗的感覺,這裡就次記錄一下。先說一下最開始的想法,假設有一天你需要輸出各式各樣的...

的序號資料是什麼 線上班會如何做到隨機分配序號?

線上班會由於很多客觀因素,導致分配隨機序號很難實現,但是只要你願意去思考解決辦法,就一定能夠找到合適的解決方案,下面我來講述一下我的解決方案 具體操作 1 每次會議前,要求大家線上簽到,隨機分配序號,並將序號發給對應的小夥伴。每次班會都有不一樣的隨機序號,這樣也起到了核查參加班會的情況。2 每次班會...

如何做到出色的專案管理,具備什麼樣的能力

思考 我們即使學好了專案管理知識體系,掌握了專案管理的技能,怎麼來做到出色?出色實際上對於專案經理來說非常難,因為出色的專案管理是在成熟之上,只有成熟才可能出色,還記得吧?專案管理成熟度模型,混沌的 已定義的 已管理的 量化的 持續改進的。達到量化,持續改進這樣的狀態,我們才認為這是乙個成熟的管理模...