日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

耦合

發布時間:2024/4/18 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 耦合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡單地說,軟件工程中對象之間的耦合度就是對象之間的依賴性。指導使用和維護對象的主要問題是對象之間的多重依賴性。對象之間的耦合越高,維護成本越高。因此對象的設計應使類和構件之間的耦合最小。 有軟硬件之間的耦合,還有軟件各模塊之間的耦合。 耦合性是程序結構中各個模塊之間相互關聯的度量。它取決于各個模塊之間的接口的復雜程度、調用模塊的方式以及哪些信息通過接口。 耦合可以分為以下七種,它們之間的耦合度由高到低排列如下: (1) 內容耦合。當一個模塊直接修改或操作另一個模塊的數據時,或一個模塊不通過正常入口而轉入另一個模塊時,這樣的耦合被稱為內容耦合。內容耦合是最高程度的耦合,應該避免使用之。 (2) 公共耦合。兩個或兩個以上的模塊共同引用一個全局數據項,這種耦合被稱為公共耦合。在具有大量公共耦合的結構中,確定究竟是哪個模塊給全局變量賦了一個特定的值是十分困難的。 (3) 外部耦合 。一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。 (4) 控制耦合 。一個模塊通過接口向另一個模塊傳遞一個控制信號,接受信號的模塊根據信號值而進行適當的動作,這種耦合被稱為控制耦合。 (5) 標記耦合 。若一個模塊A通過接口向兩個模塊B和C傳遞一個公共參數,那么稱模塊B和C之間存在一個標記耦合。 (6) 數據耦合。模塊之間通過參數來傳遞數據,那么被稱為數據耦合。數據耦合是最低的一種耦合形式,系統中一般都存在這種類型的耦合,因為為了完成一些有意義的功能,往往需要將某些模塊的輸出數據作為另一些模塊的輸入數據。 (7) 非直接耦合 。兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的。 總結:耦合是影響軟件復雜程度和設計質量的一個重要因素,在設計上我們應采用以下原則:如果模塊間必須存在耦合,就盡量使用數據耦合,少用控制耦合,限制公共耦合的范圍,盡量避免使用內容耦合。 一般模塊之間的連接分位七種類型。它們之間的關系為(獨立性由強到弱)

非直接耦合(Nondirect Coupling)

如果兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的,這就是非直接耦合。這種耦合的模塊獨立性最強。 。

數據耦合(Data Coupling)

如果一個模塊訪問另一個模塊時,彼此之間是通過數據參數(不是控制參數、公共數據結構或外部變量)來交換輸入、輸出信息的,則稱這種耦合為數據耦合。由于限制了只通過參數表傳遞數據,按數據耦合開發的程序界面簡單、安全可靠。因此,數據耦合是松散的耦合,模塊之間的獨立性比較強。在軟件程序結構中至少必須有這類耦合。

印記耦合(Stamp Coupling)

如果一組模塊通過參數表傳遞記錄信息,就是標記耦合。事實上,這組模塊共享了這個記錄,它是某一數據結構的子結構,而不是簡單變量。這要求這些模塊都必須清楚該記錄的結構,并按結構要求對此記錄進行操作。在設計中應盡量避免這種耦合,它使在數據結構上的操作復雜化了。如果采取“信息隱蔽”的方法,把在數據結構上的操作全部集中。

控制耦合(Control Coupling)

如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。這種耦合的實質是在單一接口上選擇多功能模塊中的某項功能。因此,對所控制模塊的任何修改,都會影響控制模塊。另外,控制耦合也意味著控制模塊必須知道所控制模塊內部的一些邏輯關系,這些都會降低模塊的獨立性。

外部耦合(External Coupling)

一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。例如C語言程序中各個模塊都訪問被說明為extern類型的外部變量。外部耦合引起的問題類似于公共耦合,區別在于在外部耦合中不存在依賴于一個數據結構內部各項的物理安排。

公共耦合(Common Coupling)

若一組模塊都訪問同一個公共數據環境,則它們之間的耦合就稱為公共耦合。公共的數據環境可以是全局數據結構、共享的通信區、內存的公共覆蓋區等。 這種耦合會引起下列問題: 所有公共耦合模塊都與某一個公共數據環境內部各項的物理安排有關,若修改某個數據的大小,將會影響到所有的模塊。 無法控制各個模塊對公共數據的存取,嚴重影響軟件模塊的可靠性和適應性。 公共數據名的使用,明顯降低了程序的可讀性。 公共耦合的復雜程度隨耦合模塊的個數增加而顯著增加。若只是兩個模塊之間有公共數據環境,則公共耦合有兩種情況。 若一個模塊只是往公共數據環境里傳送數據,而另一個模塊只是從公共數據環境中取數據,則這種公共耦合叫做松散公共耦合。若兩個模塊都從公共數據環境中取數據,又都向公共數據環境里送數據,則這種公共耦合叫做緊密公共耦合。只有在模塊之間共享的數據很多,且通過參數表傳遞不方便時,才使用公共耦合。否則,還是使用模塊獨立性比較高的數據耦合好些。

內容耦合(Content Coupling)

如果發生下列情形,兩個模塊之間就發生了內容耦合。 一個模塊直接訪問另一個模塊的內部數據; 一個模塊不通過正常入口轉到另一模塊內部; 兩個模塊有一部分程序代碼重疊(只可能出現在匯編語言中); 一個模塊有多個入口。 在內容耦合的情形,所訪問模塊的任何變更,或者用不同的編譯器對它再編譯, 都會造成程序出錯。好在大多數高級程序設計語言已經設計成不允許出現內容 耦合。它一般出現在匯編語言程序中。這種耦合是模塊獨立性最弱的耦合。

總結

以上是生活随笔為你收集整理的耦合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线观看麻豆 | 国产精品熟女一区二区不卡 | 天天操天天舔天天干 | 亚洲精品久久久久av无码 | 四虎影院在线 | 伦理片中文字幕 | 日本不卡一 | 伊人久久亚洲综合 | 久久久国产精华液999999 | 91视频直接看 | 91看片黄色 | 欧美日韩一二三区 | 国产国语老龄妇女a片 | 五月天校园春色 | 香港黄色网址 | 人妻精品久久久久中文字幕69 | 91蝌蚪91九色白浆 | 69人人| 女人色极品影院 | 最好看的中文字幕 | 性歌舞团一区二区三区视频 | 又爽又黄视频 | 纯爱无遮挡h肉动漫在线播放 | 久久精品国产av一区二区三区 | 亚洲一级伦理 | 1000部啪啪 | a√天堂在线 | 亚洲av无码一区二区三区网址 | 日本欧美不卡 | 麻豆传媒mv| 一区二区三区在线视频观看 | 色屁屁www影院免费观看入口 | 国际av在线 | 国内精品久久久久久久影视简单 | jizz欧洲| 久久综合九色综合网站 | 手机成人免费视频 | 亚洲欧美日韩另类 | 一级黄色片在线观看 | 97精品国产97久久久久久粉红 | 欧美日本在线播放 | 中文字幕视频网 | 香蕉成人网| 婷婷丁香综合 | 天天爽夜夜爽人人爽 | 亚洲美女色视频 | 天堂网中文字幕 | 色综合综合色 | 伊人天堂av | 懂色一区二区二区av免费观看 | 一级二级av| 欧美整片sss | 日本欧美国产 | 欧美一区二区区 | 国产婷婷一区二区 | 一级片一区 | 亚洲午夜精品在线观看 | 伊人快播 | 欧美先锋影音 | 国产伦精品一区二区三区视频女 | 国产精品久久久久精 | 国产精品xxx | 欧美一区亚洲二区 | 福利视频二区 | 国产伦精品一区二区三区免费视频 | 欧美性猛交ⅹxx乱大交 | 好爽又高潮了毛片 | 一级黄色免费视频 | 天天碰天天摸 | 美女打屁股网站 | 一个人看的www视频在线观看 | 亚洲欧美日韩图片 | 第一页在线视频 | 波多野结av衣东京热无码专区 | 国产三区在线观看 | 黄色a视频 | 在线不卡二区 | 四虎新网址 | 四虎视频国产精品免费 | 亚洲成a人v欧美综合天堂麻豆 | 国产精品无码av在线播放 | 色婷婷av一区 | 91精品国产高清一区二区三区蜜臀 | 亚洲毛片一区二区 | 天天操人人 | 波多野结衣一本 | 久久天堂| 美女隐私免费 | 性一交一黄一片 | 天天操天天射天天 | 97人人爽人人爽人人爽人人爽 | 久久调教视频 | 乌克兰性极品xxxhd | 亚洲天堂中文在线 | 人人妻人人藻人人爽欧美一区 | www.日本免费 | 操啊操 | 精品视频亚洲 | 国产色网址 |