提高一個軟件系統(tǒng)的可維護(hù)性和可復(fù)用性
一:單一職責(zé)原則:一個類只負(fù)責(zé)一個功能領(lǐng)域原則
二:接口隔離原則:使用多個專門接口,不使用單一的總接口悼瘾。
三:開閉原則:對擴(kuò)展開放,對修改關(guān)閉郊闯。
四:依賴倒轉(zhuǎn)原則:細(xì)節(jié)依賴于抽象肌幽,而抽象不應(yīng)該依賴于細(xì)節(jié)
五:合成復(fù)用原則:盡量使用組合達(dá)到復(fù)用,避免使用繼承實(shí)現(xiàn)復(fù)用糯耍。
原理:
(1)通過繼承來進(jìn)行復(fù)用的主要問題在于繼承復(fù)用會破壞系統(tǒng)的封裝性扔字,因?yàn)槔^承會將基類的實(shí)現(xiàn)細(xì)節(jié)暴露給子類,由于基類的內(nèi)部細(xì)節(jié)通常對子類來說是可見的温技,如果基類發(fā)生改變革为,那么子類的實(shí)現(xiàn)也不得不發(fā)生改變;
(2)由于組合或聚合關(guān)系可以將已有的對象(也可稱為成員對象)納入到新對象中舵鳞,使之成為新對象的一部分震檩,因此新對象可以調(diào)用已有對象的功能,這樣做可以使得成員對象的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)對于新對象不可見蜓堕,相對繼承關(guān)系而言抛虏,其耦合度相對較低,成員對象的變化對新對象的影響不大套才。
(3)如果兩個類之間是“Has-A”的關(guān)系應(yīng)使用組合迂猴,如果是“Is-A”關(guān)系可使用繼承。
六:里氏代換原則 : 所有使用基類的地方背伴,可以透明的使用子類來替代沸毁。
七:迪米特原則:一個軟件實(shí)體應(yīng)該金可能的與其他軟件實(shí)體相互作用纽甘。
迪米特法則可降低系統(tǒng)的耦合度犀暑,使類與類之間保持松散的耦合關(guān)系。應(yīng)該盡量減少對象之間的交互嵌戈,如果兩個對象之間不必彼此直接通信疾掰,那么這兩個對象就不應(yīng)當(dāng)發(fā)生任何直接的相互作用搂誉,如果其中的一個對象需要調(diào)用另一個對象的某一個方法的話,可以通過第三者轉(zhuǎn)發(fā)這個調(diào)用静檬。
設(shè)計原則
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門至非,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钠署,“玉大人,你說我怎么就攤上這事荒椭⌒扯Γ” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵趣惠,是天一觀的道長狸棍。 經(jīng)常有香客問我,道長味悄,這世上最難降的妖魔是什么草戈? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮侍瑟,結(jié)果婚禮上唐片,老公的妹妹穿的比我還像新娘。我一直安慰自己涨颜,他們只是感情好费韭,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著庭瑰,像睡著了一般揽思。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上见擦,一...
- 文/蒼蘭香墨 我猛地睜開眼肪凛,長吁一口氣:“原來是場噩夢啊……” “哼堰汉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伟墙,我...
- 序言:老撾萬榮一對情侶失蹤翘鸭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后戳葵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體就乓,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了生蚁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片噩翠。...
- 正文 年R本政府宣布屯援,位于F島的核電站,受9級特大地震影響蠢涝,放射性物質(zhì)發(fā)生泄漏玄呛。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一和二、第九天 我趴在偏房一處隱蔽的房頂上張望徘铝。 院中可真熱鬧,春花似錦惯吕、人聲如沸惕它。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽淹魄。三九已至,卻和暖如春堡距,著一層夾襖步出監(jiān)牢的瞬間甲锡,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓易稠,卻偏偏與公主長得像缸废,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子驶社,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 我們在應(yīng)用開發(fā)中企量,一般要求盡量做到可維護(hù)性和可復(fù)用性 應(yīng)用程序的復(fù)用可以提高應(yīng)用程序的開發(fā)效率和質(zhì)量,節(jié)約開發(fā)成本...
- 設(shè)計原則就是在設(shè)計模式背后更為深層的亡电、更具有普遍性的届巩、共同的思想原則,是提高軟件系統(tǒng)的可維護(hù)性和可復(fù)用性的指導(dǎo)原則...
- 面向?qū)ο蟮?個基本要素: 封裝份乒、繼承姆泻、多態(tài) 面向?qū)ο蟮?個基本設(shè)計原則: 單一職責(zé)原則(Single-Respos...