高內聚低耦合.doc

高內聚低耦合.doc

ID:58399345

大?。?2.00 KB

頁數(shù):13頁

時間:2020-05-08

高內聚低耦合.doc_第1頁
高內聚低耦合.doc_第2頁
高內聚低耦合.doc_第3頁
高內聚低耦合.doc_第4頁
高內聚低耦合.doc_第5頁
資源描述:

《高內聚低耦合.doc》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、高內聚低耦合1.什么是內聚?什么是耦合?內聚是從功能角度來度量模塊內的聯(lián)系,一個好的內聚模塊應當恰好做一件事。它描述的是模塊內的功能聯(lián)系;耦合是軟件結構中各模塊之間相互連接的一種度量,耦合強弱取決于模塊間接口的復雜程度、進入或訪問一個模塊的點以及通過接口的數(shù)據(jù)。耦合性也稱塊間聯(lián)系。指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。模塊間耦合高低取決于模塊間接口的復雜性、調用的方式及傳遞的信息。2.內聚分為哪幾類?耦合分為哪幾類?內聚有如下的種類,它們之間的內聚度由弱到強排列如下:(1)偶然內聚。模塊中的代碼無法定義其不

2、同功能的調用。但它使該模塊能執(zhí)行不同的功能,這種模塊稱為巧合強度模塊。(2)邏輯內聚。這種模塊把幾種相關的功能組合在一起,每次被調用時,由傳送給模塊參數(shù)來確定該模塊應完成哪一種功能(3)時間內聚:把需要同時執(zhí)行的動作組合在一起形成的模塊為時間內聚模塊。高內聚低耦合1.什么是內聚?什么是耦合?內聚是從功能角度來度量模塊內的聯(lián)系,一個好的內聚模塊應當恰好做一件事。它描述的是模塊內的功能聯(lián)系;耦合是軟件結構中各模塊之間相互連接的一種度量,耦合強弱取決于模塊間接口的復雜程度、進入或訪問一個模塊的點以及通過接口的數(shù)據(jù)。耦合性也稱塊間聯(lián)系。指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度

3、量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。模塊間耦合高低取決于模塊間接口的復雜性、調用的方式及傳遞的信息。2.內聚分為哪幾類?耦合分為哪幾類?內聚有如下的種類,它們之間的內聚度由弱到強排列如下:(1)偶然內聚。模塊中的代碼無法定義其不同功能的調用。但它使該模塊能執(zhí)行不同的功能,這種模塊稱為巧合強度模塊。(2)邏輯內聚。這種模塊把幾種相關的功能組合在一起,每次被調用時,由傳送給模塊參數(shù)來確定該模塊應完成哪一種功能(3)時間內聚:把需要同時執(zhí)行的動作組合在一起形成的模塊為時間內聚模塊。(4)過程內聚:構件或者操作的組合方式是,允許在調用前面的構件或操作之后,馬上

4、調用后面的構件或操作,即使兩者之間沒有數(shù)據(jù)進行傳遞。(5)通信內聚:指模塊內所有處理元素都在同一個數(shù)據(jù)結構上操作(有時稱之為信息內聚),或者指各處理使用相同的輸入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù)。(6)順序內聚:指一個模塊中各個處理元素都密切相關于同一功能且必須順序執(zhí)行,前一功能元素輸出就是下一功能元素的輸入。(7)功能內聚:這是最強的內聚,指模塊內所有元素共同完成一個功能,缺一不可。耦合可以分為以下幾種,它們之間的耦合度由高到低排列如下:(1)內容耦合:如果發(fā)生下列情形,兩個模塊之間就發(fā)生了內容耦合·一個模塊直接訪問另一個模塊的內部數(shù)據(jù)·一個模塊不通過正常入口轉到另一模塊內部;·

5、兩個模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編語言中);·一個模塊有多個入口。(2)公共耦合:若一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局數(shù)據(jù)結構、共享的通信區(qū)、內存的公共覆蓋區(qū)等。(3)外部耦合:一組模塊都訪問同一全局簡單變量而不是同一全局數(shù)據(jù)結構,而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。(4)控制耦合:如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合(5)標記耦合:一組模塊通過參數(shù)表傳遞記錄信息,就是標記耦合。這個記錄是某一數(shù)據(jù)結構的子結構,而不是簡單變量。其實傳遞

6、的是這個數(shù)據(jù)結構的地址;也就是地址傳遞。?(6)數(shù)據(jù)耦合:指兩個模塊之間有調用關系,傳遞的是簡單的數(shù)據(jù)值,一個模塊訪問另一個模塊時,彼此之間是通過簡單數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結構或外部變量)來交換輸入、輸出信息的,相當于高級語言的值傳遞。(7)非直接耦合:兩個模塊之間沒有直接關系,它們之間的聯(lián)系完全是通過主模塊的控制和調用來實現(xiàn)的。耦合強度,依賴于以下幾個因素:(1)一個模塊對另一個模塊的調用;(2)一個模塊向另一個模塊傳遞的數(shù)據(jù)量;(3)一個模塊施加到另一個模塊的控制的多少;(4)模塊之間接口的復雜程度。1、耦合、內聚的評估標準是強度,耦合越弱越好,內聚越強越好;2

7、、所謂過度指的是由于錯誤理解導致的效果相反的設計;3、耦合指的模塊之間的關系,最弱的耦合設計是通過一個主控模塊來協(xié)調n個模塊之間的運作。還是舉一個我舉過的例子:客戶要求在界面上增加一個字段,你的項目要修改幾個地方呢?如果你只要修改項目文檔,那么你的開發(fā)構架就是最低強度的耦合,而這種設計成熟的開發(fā)團隊都已經(jīng)做到了,他們使用開發(fā)工具通過項目模型驅動數(shù)據(jù)庫和各層次的代碼,而不是直接修改那些代碼;4、內聚指的是模塊內部的功能,最強的內聚就是功能單一到不能拆分,也就是原子化,5、所以強內聚和弱耦合是相輔相成的,一

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。