免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
高內(nèi)聚,低耦合-ZOL博客

高內(nèi)聚,低耦合


2008-11-24 10:54:42    分類:java | 技術(shù) |  評論(0) |  瀏覽(3184)

對高內(nèi)聚,低耦合的理

內(nèi)聚:一個模塊內(nèi)各個元素彼此結(jié)合的緊密程


耦合:一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量(耦合性也叫塊間聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中個模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差,模塊間耦合的高低取決于模塊間接口的復雜性,調(diào)用的方式以及傳遞的信息。)

最近編碼的時候,總是在猶豫是把某個方法封裝在一個類里,還是單獨的封裝成一個類。這讓我突然想起內(nèi)聚耦合這兩個名詞。

我們一直追求著,高內(nèi)聚,低耦合。

對于低耦合,粗淺的理解是:

一個完整的系統(tǒng),模塊與模塊之間,盡可能的使其獨立存在。

也就是說,讓每個模塊,盡可能的獨立完成某個特定的子功能。

模塊與模塊之間的接口,盡量的少而簡單。

如果某兩個模塊間的關(guān)系比較復雜的話,最好首先考慮進一步的模塊劃分。

這樣有利于修改和組合

 

對于低耦合,我粗淺的理解是:

在一個模塊內(nèi),讓每個元素之間都盡可能的緊密相連。

也就是充分利用每一個元素的功能,各施所能,以最終實現(xiàn)某個功能。

如果某個元素與該模塊的關(guān)系比較疏松的話,可能該模塊的結(jié)構(gòu)還不夠完善,或者是該元素是多余的。

內(nèi)聚和耦合,包含了橫向和縱向的關(guān)系。功能內(nèi)聚和數(shù)據(jù)耦合,是我們需要達成的目標。橫向的內(nèi)聚和耦合,通常體現(xiàn)在系統(tǒng)的各個模塊、類之間的關(guān)系,而縱向的耦合,體現(xiàn)在系統(tǒng)的各個層次之間的關(guān)系

對于我在編碼中的困惑,我是這樣想的,用面向?qū)ο蟮乃枷肴タ紤]一個類的封裝。
一個方法,如何封裝,拿到現(xiàn)實生活中來看,看這種能力(方法)是否是屬于這類事物(類)的本能。
如果是,就封裝在這個類里。
如果不是,則考慮封裝在其它類里。
如果這種能力,很多事物都具有,則一定要封裝在這類事物的總類里
如果這種能力,很多事物都會經(jīng)常用到,則可以封裝成一個總類的靜態(tài)方法。

關(guān)于耦合內(nèi)聚的概念
這些是軟件工程中的知識,我上網(wǎng)查過,總結(jié)著幾位大蝦的評論,關(guān)于耦合的概念應該是這樣的:
1,對象之間的耦合度就是對象之間的依賴性.指導使用和維護對象的主要問題是對象之間的多重依賴性.對象之間的耦合性越高.維護成本越高.因此對象的設計應使類和構(gòu)件之間的耦合最小.

2,耦合性是程序結(jié)構(gòu)中各個模塊之間相互關(guān)聯(lián)的度量.它取決于各個模塊之間的接口的復雜程度,調(diào)用模塊的方式一級哪些信息通過接口,一般模塊之間可能的連接方式有七種,耦合性由低到高分別是:非直接耦合,數(shù)據(jù)耦合,標記耦合,控制耦合,外部耦合,公共耦合,內(nèi)容耦合.

一個軟件是由多個子程序組裝而成,而一個程序由多個模塊(方法)構(gòu)成.
耦合是指各個外部程序(子程序)之間的關(guān)系緊密度
而內(nèi)聚就是指程序內(nèi)的各個模塊之間的關(guān)系緊密度
所以說,為什么要高內(nèi)聚,模塊之間的關(guān)系越緊密,出錯就越少!低耦合就是說,子程序之間的關(guān)系越復雜,就會產(chǎn)生出更多的意想不到的錯誤!會給以后的維護工作帶來很多麻煩

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
轉(zhuǎn):代碼的聚合與耦合(一)
二十三種設計模式修煉手冊
C#面向?qū)ο笤O計模式縱橫談:Factory Method 工廠方法模式
一些軟件設計的原則
“高內(nèi)聚低耦合”的軟件設計
對高內(nèi)聚,低耦合的理解
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服