當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]“高內(nèi)聚低耦合”是軟件工程中的概念,主要用于判斷軟件設(shè)計(jì)的好壞,主要是面向?qū)ο蟮脑O(shè)計(jì)。

“高內(nèi)聚低耦合”是軟件工程中的概念,主要用于判斷軟件設(shè)計(jì)的好壞,主要是面向?qū)ο蟮脑O(shè)計(jì)。

內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系,一個(gè)好的內(nèi)聚模塊應(yīng)當(dāng)恰好做一件事,它描述的是模塊內(nèi)的功能聯(lián)系。高內(nèi)聚是指將系統(tǒng)中相關(guān)的功能或模塊組織在一起,使它們形成一個(gè)緊密耦合的單元,該單元內(nèi)部的各個(gè)部分相互依賴,協(xié)同完成一定的功能。高內(nèi)聚的模塊在內(nèi)部緊密配合,對(duì)外部模塊的影響和干擾相對(duì)較小,能夠提高系統(tǒng)的可靠性和可維護(hù)性,減少系統(tǒng)出現(xiàn)故障的概率。

耦合是軟件結(jié)構(gòu)中各模塊之間相互連接的一種度量,耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度、進(jìn)入或訪問一個(gè)模塊的點(diǎn)以及通過接口的數(shù)據(jù)。低耦合則是指系統(tǒng)中的各個(gè)模塊之間相互獨(dú)立,彼此之間的耦合度盡可能地低,每個(gè)模塊之間的關(guān)聯(lián)程度盡量小。低耦合的目的是減少模塊之間的依賴關(guān)系,使得每個(gè)模塊都可以獨(dú)立地進(jìn)行開發(fā)、測(cè)試和維護(hù),提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。

高內(nèi)聚低耦合的目的是使程序模塊的可重用性、移植性大大增強(qiáng),同時(shí)提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。在軟件設(shè)計(jì)中,高內(nèi)聚低耦合是一個(gè)重要的原則,它有助于減少模塊之間的耦合度,提高模塊的獨(dú)立性,從而使得軟件更加健壯、可擴(kuò)展和可維護(hù)。

高內(nèi)聚低耦合是軟件工程中的概念,主要用于面向?qū)ο蟮脑O(shè)計(jì),是判斷設(shè)計(jì)好壞的標(biāo)準(zhǔn)。這一原則要求將系統(tǒng)劃分為若干個(gè)相對(duì)獨(dú)立、功能單一的模塊,以提高系統(tǒng)的可維護(hù)性、可擴(kuò)展性和可重用性。

內(nèi)聚

內(nèi)聚是指一個(gè)模塊內(nèi)部各個(gè)元素之間關(guān)聯(lián)性的緊密程度。一個(gè)高內(nèi)聚的模塊應(yīng)該只做一件事,即它應(yīng)該恰好完成一項(xiàng)任務(wù)。高內(nèi)聚有助于提高模塊的可維護(hù)性和可重用性,因?yàn)槊總€(gè)模塊都專注于完成一個(gè)特定的功能。

高內(nèi)聚通常分為以下幾種類型:

1. 功能性內(nèi)聚:模塊內(nèi)的所有功能都緊密相關(guān),并且共同完成一個(gè)任務(wù)。

2. 順序性內(nèi)聚:模塊內(nèi)的處理元素都密切相關(guān)于同一功能且必須順序執(zhí)行,通常通過順序、循環(huán)或選擇結(jié)構(gòu)組織。

3. 通信性內(nèi)聚:模塊內(nèi)所有處理元素都使用相同的輸入數(shù)據(jù)或產(chǎn)生相同的輸出數(shù)據(jù)。

耦合

耦合是指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互連接的緊密程度。耦合的強(qiáng)弱取決于模塊間接口的復(fù)雜程度、進(jìn)入或訪問一個(gè)模塊的方式以及通過接口的數(shù)據(jù)。低耦合意味著模塊之間的依賴關(guān)系較少,每個(gè)模塊都可以獨(dú)立地進(jìn)行開發(fā)、測(cè)試和維護(hù)。

耦合可以分為以下幾種類型:

1. 無直接耦合:兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)的。

2. 數(shù)據(jù)耦合:一個(gè)模塊訪問另一個(gè)模塊時(shí),彼此之間是通過簡(jiǎn)單數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來交換輸入、輸出信息的。

3. 標(biāo)記耦合:一組模塊通過參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。

目的和優(yōu)勢(shì)

高內(nèi)聚低耦合的目的是使程序模塊的可重用性、移植性大大增強(qiáng)。通過減少模塊間的耦合度,可以提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。當(dāng)某個(gè)模塊需要修改或替換時(shí),低耦合的設(shè)計(jì)可以減少對(duì)其他模塊的影響,從而降低系統(tǒng)整體的改動(dòng)風(fēng)險(xiǎn)。

高內(nèi)聚低耦合與低內(nèi)聚高耦合在軟件設(shè)計(jì)中有著明顯的區(qū)別,主要體現(xiàn)在模塊間的依賴性和功能性上。

1. 依賴性:

1. 高內(nèi)聚低耦合:各個(gè)模塊之間的依賴性較小,模塊間的接口簡(jiǎn)單清晰。每個(gè)模塊可以獨(dú)立地完成特定的功能,模塊間的交互盡可能少,使得系統(tǒng)更加靈活,易于維護(hù)和擴(kuò)展。

2. 低內(nèi)聚高耦合:各個(gè)模塊之間的依賴性較強(qiáng),模塊間的接口復(fù)雜。一個(gè)模塊的變化可能會(huì)影響到其他多個(gè)模塊,導(dǎo)致系統(tǒng)的維護(hù)和擴(kuò)展變得困難。

2. 功能性:

1. 高內(nèi)聚:模塊內(nèi)部各個(gè)元素之間的關(guān)聯(lián)性較強(qiáng),每個(gè)模塊都專注于完成一個(gè)特定的功能。這樣的設(shè)計(jì)有助于提高系統(tǒng)的可重用性和可維護(hù)性。

2. 低內(nèi)聚:模塊內(nèi)部各個(gè)元素之間的關(guān)聯(lián)性較弱,一個(gè)模塊可能包含多個(gè)不相關(guān)的功能。這樣的設(shè)計(jì)會(huì)降低系統(tǒng)的清晰度和可維護(hù)性,使得代碼難以理解和維護(hù)。

總結(jié)來說,高內(nèi)聚低耦合是一種理想的軟件設(shè)計(jì)原則,它有助于提高系統(tǒng)的可維護(hù)性、可擴(kuò)展性和可重用性。而低內(nèi)聚高耦合則可能導(dǎo)致系統(tǒng)變得復(fù)雜、難以維護(hù)和擴(kuò)展。因此,在軟件設(shè)計(jì)過程中,應(yīng)該盡量遵循高內(nèi)聚低耦合的原則,將系統(tǒng)劃分為獨(dú)立、功能單一的模塊,減少模塊間的依賴性和復(fù)雜性。


聲明:該篇文章為本站原創(chuàng),未經(jīng)授權(quán)不予轉(zhuǎn)載,侵權(quán)必究。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉