⑴ 高內聚、低耦合的含義是什麼如何提高代碼的可重用性
網路粘過來的,你看看:
基本解釋
高內聚低耦合,是軟體工程中的概念,是判斷設計好壞的標准,主要是面向對象的設計,主要是看類的內聚性是否高,耦合度是否低。
高內聚
內聚就是一個模塊內各個元素彼此結合的緊密程度,高內聚就是一個模塊內各個元素彼此結合的緊密程度高。 所謂高內聚是指一個軟體模塊是由相關性很強的代碼組成,只負責一項任務,也就是常說的單一責任原則。
低耦合
耦合:一個軟體結構內不同模塊之間互連程度的度量(耦合性也叫塊間聯系。指軟體系統結構中各模塊間相互聯系緊密程度的一種度量。模塊之間聯系越緊密,其耦合性就越強,模塊的獨立性則越差,模塊間耦合的高低取決於模塊間介面的復雜性,調用的方式以及傳遞的信息。) 對於低耦合,粗淺的理解是: 一個完整的系統,模塊與模塊之間,盡可能的使其獨立存在。 也就是說,讓每個模塊,盡可能的獨立完成某個特定的子功野陪纖能。 模塊與模塊之間的介面,盡量的少而簡亂櫻單。 如果某兩個模塊間的關系比較復雜的話,最好首先考慮進一步的模塊劃分。 這樣有利於修改和組合。[1]
編輯本段為什麼要追求高內聚和低耦合
軟體架構設計的目的簡單說就是在保持軟體內在聯系的前提下,分解軟體系統,降低軟體系統開發的復雜性,而分解軟體系統的基本方法無外乎分層和分割。但是在保持軟體內在聯系的前提下,如何分層分割系統,分層分割到什麼樣的粒度,並不是一件容易的事,這方面有各種各樣的分解方法,比如:關注點分離,面向方面,面向對象,面向介面,面向服務,依賴注入,以及各種各樣的設計原則等,而所有這些方法都基於高內聚,低耦合的原則。 高內聚和低耦合是相互矛盾的,分解粒度越粗的系統耦合性越低,分解粒度越細的系統內聚性越高,過度低耦合的軟體系統,軟體模塊內部頌仿不可能高內聚,而過度高內聚的軟體模塊之間必然是高度依賴的,因此如何兼顧高內聚和低耦合是軟體架構師功力的體現。 高內聚,低耦合的系統有什麼好處呢?事實上,短期來看,並沒有很明顯的好處,甚至短期內會影響系統的開發進度,因為高內聚,低耦合的系統對開發設計人員提出了更高的要求。高內聚,低耦合的好處體現在系統持續發展的過程中,高內聚,低耦合的系統具有更好的重用性,維護性,擴展性,可以更高效的完成系統的維護開發,持續的支持業務的發展,而不會成為業務發展的障礙。[2]
⑵ 怎麼做到高內聚,低耦合
高內聚,低耦合在軟體工程頃仿里有,主要是說模快之間和模塊內部之間的關系緊密程度
高內聚就是提高模快內部的關聯程度,低耦合當然就是降低模快之間的關聯程度
耦合性比較高的話梁缺,模塊代碼不易分離,是不好的編程模式
內聚是越高越好,內聚個人認為是只是實現一個功能,不是很雀渣纖多的功能
⑶ 高內聚低耦合軟體設計基本原則
高內聚低耦合是軟體設計的一個基本原則,說的是在程序的各各模塊中,盡量讓每個模塊獨立,相關的處理盡量在單個模塊中完成,就是俗話說的:該干森纖嘛干嗎去!脊春旦 優櫻擾點:能提降低各模塊的之間的聯系,減少「牽一發而動全身」的幾率,提高開發效率,降低升級維護成本,也便於進行 單元測試 ,提高軟體質量。