2019-07-03

面向?qū)ο蟮摹傲瓌t一法則”

開閉原則:軟件實(shí)體應(yīng)該對拓展開放滚停,對修改關(guān)閉。(在理想的狀態(tài)下粥惧,當(dāng)我們需要為一個(gè)軟件系統(tǒng)增加新功能時(shí)键畴,只需要從原來的系統(tǒng)派生出一些新類就可以,不需要修改原來的任何一行代碼突雪。要做到開閉有兩個(gè)要點(diǎn):①抽象是關(guān)鍵起惕,一個(gè)系統(tǒng)中如果沒有抽象類或接口系統(tǒng)就沒有擴(kuò)展點(diǎn);②封裝可變性咏删,將系統(tǒng)中的各種可變因素封裝到一個(gè)繼承結(jié)構(gòu)中惹想,如果多個(gè)可變因素混雜在一起,系統(tǒng)將變得復(fù)雜而混亂督函。

單一職責(zé)原則:一個(gè)類只做它該做的事嘀粱。(單一職責(zé)原則想表達(dá)的就是"高內(nèi)聚"激挪,寫代碼最終極的原則只有六個(gè)字"高內(nèi)聚、低耦合"锋叨,所謂的高內(nèi)聚就是一個(gè)代碼模塊只完成一項(xiàng)功能垄分,在面向?qū)ο笾校绻蛔屢粋€(gè)類完成它該做的事娃磺,而不涉及與它無關(guān)的領(lǐng)域就是踐行了高內(nèi)聚的原則薄湿,這個(gè)類就只有單一職責(zé)。)

依賴倒轉(zhuǎn)原則:面向接口編程偷卧。(該原則說得直白和具體一些就是聲明方法的參數(shù)類型豺瘤、方法的返回類型、變量的引用類型時(shí)涯冠,盡可能使用抽象類型而不用具體類型炉奴,因?yàn)槌橄箢愋涂梢员凰娜魏我粋€(gè)子類型所替代逼庞。)

里氏替換原則:任何時(shí)候都可以用子類型替換掉父類型蛇更。但簡單的說就是能用父類型的地方就一定能使用子類型。里氏替換原則可以檢查繼承關(guān)系是否合理赛糟,如果一個(gè)繼承關(guān)系違背了里氏替換原則派任,那么這個(gè)繼承關(guān)系一定是錯(cuò)誤的,需要對代碼進(jìn)行重構(gòu)璧南。

接口隔離原則:接口要小而專掌逛,不能而全。

合成聚合復(fù)用原則:優(yōu)先使用聚合或合成關(guān)系復(fù)用代碼司倚。要說明的是豆混,即使在Java的API中也有不少濫用繼承的例子,例如Properties類繼承了Hashtable類动知,Stack類繼承了Vector類皿伺,這些繼承明顯就是錯(cuò)誤的,更好的做法是在Properties類中放置一個(gè)Hashtable類型的成員并且將其鍵和值都設(shè)置為字符串來存儲數(shù)據(jù)盒粮,而Stack類的設(shè)計(jì)也應(yīng)該是在Stack類中放一個(gè)Vector對象來存儲數(shù)據(jù)鸵鸥。記住:任何時(shí)候都不要繼承工具類丹皱,工具是可以擁有并可以使用的妒穴,而不是拿來繼承的。

迪米特法則:迪米特法則又叫最少知識原則摊崭,一個(gè)對象應(yīng)當(dāng)對其他對象有盡可能少的了解讼油。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市呢簸,隨后出現(xiàn)的幾起案子矮台,更是在濱河造成了極大的恐慌淆攻,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘿架,死亡現(xiàn)場離奇詭異瓶珊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耸彪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門伞芹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蝉娜,你說我怎么就攤上這事唱较。” “怎么了召川?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵南缓,是天一觀的道長。 經(jīng)常有香客問我荧呐,道長汉形,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任倍阐,我火速辦了婚禮概疆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘峰搪。我一直安慰自己岔冀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布概耻。 她就那樣靜靜地躺著使套,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鞠柄。 梳的紋絲不亂的頭發(fā)上侦高,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音春锋,去河邊找鬼矫膨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛期奔,可吹牛的內(nèi)容都是我干的侧馅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呐萌,長吁一口氣:“原來是場噩夢啊……” “哼馁痴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起肺孤,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤罗晕,失蹤者是張志新(化名)和其女友劉穎济欢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體小渊,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡法褥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酬屉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片半等。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呐萨,靈堂內(nèi)的尸體忽然破棺而出杀饵,到底是詐尸還是另有隱情,我是刑警寧澤谬擦,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布切距,位于F島的核電站,受9級特大地震影響惨远,放射性物質(zhì)發(fā)生泄漏谜悟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一锨络、第九天 我趴在偏房一處隱蔽的房頂上張望赌躺。 院中可真熱鬧,春花似錦羡儿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至悄泥,卻和暖如春虏冻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弹囚。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工厨相, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸥鹉。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓蛮穿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親毁渗。 傳聞我的和親對象是個(gè)殘疾皇子践磅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.面向?qū)ο蟮奶卣饔心男┓矫妫?抽象:抽象是將一類對象的共同特征總結(jié)出來構(gòu)造類的過程,包括數(shù)據(jù)抽象和行為抽象兩方面...
    浪花易逝閱讀 651評論 0 5
  • 單一職責(zé)原則 (SRP) 全稱 SRP , Single Responsibility Principle 單一職...
    米莉_L閱讀 1,765評論 2 5
  • 本文出自《Android源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)》中的第一章灸异。 1府适、優(yōu)化代碼的第一步——單一職責(zé)原則 單一職責(zé)原則的...
    MrSimp1e0閱讀 1,770評論 1 13
  • 前言 關(guān)于設(shè)計(jì)模式六大設(shè)計(jì)原則的資料網(wǎng)上很多羔飞,但感覺很多地方解釋地都太過于籠統(tǒng)化,特此再總結(jié)一波檐春。 優(yōu)化第一步-單...
    ghroost閱讀 1,104評論 0 5
  • 今天逻淌,李詠離世的消息占領(lǐng)了新聞?lì)^條和各大網(wǎng)站,朋友圈里也被刷屏了疟暖。就像一枚重型炸彈恍风,在眾多國人的心里炸開了。 作為...
    婭溪_f57a閱讀 115評論 0 0