耦合式是什么意思_高内聚 ,低耦合 到底是什么意思?
總會(huì)聽到大牛們說到“高內(nèi)聚,低耦合”,不是特別明白,最近查閱了一些資料,才明白。
‘高內(nèi)聚,低耦合’是相對(duì)于代碼而言,一個(gè)項(xiàng)目中:
每個(gè)模塊之間相互聯(lián)系的緊密程度,模塊之間聯(lián)系越緊密,則耦合性越高,模塊的獨(dú)立性就越差!反之同理;
一個(gè)模塊中各個(gè)元素之間的聯(lián)系的緊密程度,如果各個(gè)元素(語句、程序段)之間的聯(lián)系程度越高,則內(nèi)聚性越高,即‘高內(nèi)聚’ !
如: 一個(gè)項(xiàng)目中有20個(gè)方法調(diào)用良好,但是要修改了其中一個(gè),另外的19個(gè)都要進(jìn)行修改,這就是高耦合!獨(dú)立性太差!
現(xiàn)在的軟件結(jié)構(gòu)設(shè)計(jì),都會(huì)要求“高內(nèi)聚,低耦合”,來保證軟件的高質(zhì)量!mark!
轉(zhuǎn)載:”高內(nèi)聚 ,低耦合“到底是什么意思??blog.csdn.net
1.什么是高內(nèi)聚,低耦合?
可以用簡單的兩句話來形容這兩個(gè)詞兒:
高內(nèi)聚:躲進(jìn)小樓成一統(tǒng);
低耦合:各人自掃門前雪(牽一發(fā)而動(dòng)全身)。
2.這是軟件工程中的概念
首先要知道一個(gè)軟件是由多個(gè)子程序組裝而成,
而一個(gè)程序由多個(gè)模塊(方法)構(gòu)成!
而內(nèi)聚就是指程序內(nèi)的各個(gè)模塊之間關(guān)系的緊密程度,
耦合是指各個(gè)外部程序(子程序)之間關(guān)系的緊密程度.
所以很容易明白,為什么要高內(nèi)聚?模塊之間的關(guān)系越緊密,出錯(cuò)就越少!
低耦合?子程序間的關(guān)系越復(fù)雜,就會(huì)產(chǎn)生更多的意想不到的錯(cuò)誤!會(huì)給以后的維護(hù)工作帶來很多麻煩!
// 注釋:“內(nèi)緊而外松”
內(nèi)緊:程序內(nèi)的模塊之間要緊密相關(guān),形成一個(gè)高效的功能單元;(旨在—?jiǎng)?chuàng)建高效的代碼)
外松:程序之間呢,要盡可能的不關(guān)聯(lián),各自實(shí)現(xiàn)各自的功能。(旨在—實(shí)現(xiàn)分工)
3. 程序開發(fā)到高級(jí)階段就是一個(gè)大工程,從頭到尾由一個(gè)人實(shí)現(xiàn)是不可能的,于是就要分工模塊化完成。即使是由一人完成的程序,內(nèi)部按照MVC模式的話,也會(huì)由subroutine來完成各項(xiàng)功能。于是,對(duì)于模塊化的開發(fā),就有了這樣的要求:高內(nèi)聚低耦合。 // subroutine:子程序
如何理解這么晦澀的詞兒呢?我們可以反過來看,如果不滿足這個(gè)條件的程序會(huì)出現(xiàn)什么情況。低內(nèi)聚的程序,就是“東一榔頭西一棒棰”,想要用一個(gè)變量就當(dāng)即定義一個(gè)變量。用完的變量也不清空,使用之前也不初始化。讓人覺得零件落了一地;高耦合的程序,則“牽一發(fā)則動(dòng)全身”。如果修改了某一個(gè)模塊的接口,其他相關(guān)的模塊都要從頭重新測試。即使以前測試通過的,也受其改動(dòng)的影響,要重新測試。由此會(huì)造成測試不完全而噩夢連連。做到這2點(diǎn),對(duì)于OO的程序非常重要。各個(gè)模塊,各司其職,將其功能在模塊內(nèi),發(fā)揮之極;而在模塊外,其他模塊不用關(guān)心它是如何做到的,只要關(guān)心拿到的數(shù)據(jù)是滿足自己需要的格式就可以了。這樣即使以后修改起來,也知道在哪兒修改,怎么修改。修改了以后,造成的影響,以及可以控制和預(yù)知測試的范圍。
轉(zhuǎn)載:什么是高內(nèi)聚,低耦合?_dongxiaohui2008的專欄-CSDN博客?blog.csdn.net
總結(jié)
以上是生活随笔為你收集整理的耦合式是什么意思_高内聚 ,低耦合 到底是什么意思?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中的vsprintf_Git2
- 下一篇: python网络编程爬虫_Python爬