基本解釋 高內(nèi)聚低耦合,,是軟件工程中的概念,,是判斷設(shè)計好壞的標(biāo)準(zhǔn),主要是面向?qū)ο?/A>的設(shè)計,,主要是看類的內(nèi)聚性是否高,,耦合度是否低。
編輯本段高內(nèi)聚內(nèi)聚就是一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,,高內(nèi)聚就是一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度高,。 所謂高內(nèi)聚是指一個軟件模塊是由相關(guān)性很強的代碼組成,只負(fù)責(zé)一項任務(wù),,也就是常說的單一責(zé)任原則,。編輯本段低耦合耦合:一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量(耦合性也叫塊間聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,,其耦合性就越強,,模塊的獨立性則越差,模塊間耦合的高低取決于模塊間接口的復(fù)雜性,,調(diào)用的方式以及傳遞的信息,。) 對于低耦合,粗淺的理解是: 一個完整的系統(tǒng),,模塊與模塊之間,,盡可能的使其獨立存在。 也就是說,,讓每個模塊,,盡可能的獨立完成某個特定的子功能。 模塊與模塊之間的接口,,盡量的少而簡單,。 如果某兩個模塊間的關(guān)系比較復(fù)雜的話,,最好首先考慮進一步的模塊劃分,。 這樣有利于修改和組合。[1]編輯本段為什么要追求高內(nèi)聚和低耦合軟件架構(gòu)設(shè)計的目的簡單說就是在保持軟件內(nèi)在聯(lián)系的前提下,,分解軟件系統(tǒng),,降低軟件系統(tǒng)開發(fā)的復(fù)雜性,而分解軟件系統(tǒng)的基本方法無外乎分層和分割,。但是在保持軟件內(nèi)在聯(lián)系的前提下,,如何分層分割系統(tǒng),分層分割到什么樣的力度,,并不是一件容易的事,,這方面有各種各樣的分解方法,比如:關(guān)注點分離,,面向方面,,面向?qū)ο螅嫦蚪涌?,面向服?wù),,依賴注入,以及各種各樣的設(shè)計原則等,,而所有這些方法都基于高內(nèi)聚,,低耦合的原則。 高內(nèi)聚和低耦合是相互矛盾的,,分解力度越粗的系統(tǒng)耦合性越低,,分解力度越細(xì)的系統(tǒng)內(nèi)聚性越高,過度低耦合的軟件系統(tǒng),軟件模塊內(nèi)部不可能高內(nèi)聚,,而過度高內(nèi)聚的軟件模塊之間必然是高度依賴的,,因此如何兼顧高內(nèi)聚和低耦合是軟件架構(gòu)師功力的體現(xiàn)。 高內(nèi)聚,,低耦合的系統(tǒng)有什么好處呢,?事實上,短期來看,,并沒有很明顯的好處,,甚至短期內(nèi)會影響系統(tǒng)的開發(fā)進度,因為高內(nèi)聚,,低耦合的系統(tǒng)對開發(fā)設(shè)計人員提出了更高的要求,。高內(nèi)聚,低耦合的好處體現(xiàn)在系統(tǒng)持續(xù)發(fā)展的過程中,,高內(nèi)聚,,低耦合的系統(tǒng)具有更好的重用性,維護性,,擴展性,,可以更高效的完成系統(tǒng)的維護開發(fā),持續(xù)的支持業(yè)務(wù)的發(fā)展,,而不會成為業(yè)務(wù)發(fā)展的障礙,。[2] |
|
來自: 修行的嘟嘟 > 《軟件開發(fā)》