設(shè)計(jì)原則

開(kāi)閉原則

程序應(yīng)該對(duì)修改關(guān)閉,對(duì)拓展開(kāi)放便脊。
例如中文是姓在前名在后假褪,英文則反之。
下面的例子在不修改原有XiaoMing類(lèi)時(shí)拓展了其功能杂抽。

public interface Person{
    String getName()
}
public class XiaoMing implements Person{
    public String getName(){
        return "小明";
    }
}
public class MingXiao extends XiaoMing{
    public String getEnglishName(){
        return "明小";
    }
}

依賴(lài)倒置原則

高層模塊不應(yīng)該依賴(lài)低層模塊诈唬,兩者都應(yīng)該依賴(lài)其抽象。
抽象不應(yīng)該依賴(lài)細(xì)節(jié)缩麸,細(xì)節(jié)應(yīng)該依賴(lài)抽象铸磅。

public class XiaoMing{
    //這樣不好 如果日后要學(xué)其他課程就要修改XiaoMing類(lèi)
    public void studyEnglish(){
        //studyEnglish
    }
}
修改后
public interface Course{
    void study();
}
public class EnglishCourse implements Course{
    public void study(){
        //studyEnglish
    }
}
public class MathCourse implements Course{
    public void study(){
        //studyMath
    }
}

public class XiaoMing{
    //這樣不好 如果日后要學(xué)其他課程就要修改XiaoMing類(lèi)
    public void study(Course course){
        //可以學(xué)習(xí)任意課程 而不用修改XiaoMing類(lèi)
        course.study();
    }
}

單一職責(zé)原則

不要存在多于一個(gè)導(dǎo)致類(lèi)修改的原因。
每個(gè)類(lèi)杭朱、方法阅仔、接口都應(yīng)該只有一個(gè)職責(zé)。避免多個(gè)職責(zé)相互影響弧械。

接口隔離原則

類(lèi)不應(yīng)該依賴(lài)它不需要的接口八酒。
應(yīng)該設(shè)計(jì)多個(gè)專(zhuān)用的接口,而不是單一的總接口刃唐。

迪米特原則(最少知道)

一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象保持最少的了解羞迷。
不應(yīng)該引入其可以不使用的成員。如果有“人”幫我統(tǒng)計(jì)賬單唁桩,我只需要賬單統(tǒng)計(jì)項(xiàng)那么我不應(yīng)該引入賬單闭树,可由統(tǒng)計(jì)者匯報(bào)耸棒。

里氏替換原則

子類(lèi)可拓展父類(lèi)的功能但不能修改父類(lèi)功能荒澡。
在任何引用其父類(lèi)的地方都應(yīng)該能替換成子類(lèi)并保證邏輯不變。

  1. 子類(lèi)可以有自己特有方法
  2. 子類(lèi)不應(yīng)該覆蓋(重寫(xiě))父類(lèi)的非抽象方法与殃。
  3. 子類(lèi)重載父類(lèi)方法時(shí)入?yún)?yīng)該更加寬泛单山,出參應(yīng)該更加嚴(yán)格碍现。

里氏替換原則我理解的也不是很好,但覺(jué)得是有用的米奸,先遵循再在實(shí)踐中檢驗(yàn)昼接。

合成復(fù)用原則

組合、聚合有限繼承悴晰。
優(yōu)先使用組合慢睡、聚合能夠降低類(lèi)之間的耦合度,降低類(lèi)的使用難度铡溪。組合漂辐、聚合的關(guān)系是拿來(lái)就用不關(guān)心實(shí)現(xiàn)細(xì)節(jié),繼承則需要考慮父類(lèi)功能的影響棕硫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末髓涯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子哈扮,更是在濱河造成了極大的恐慌纬纪,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滑肉,死亡現(xiàn)場(chǎng)離奇詭異包各,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)靶庙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)髓棋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人惶洲,你說(shuō)我怎么就攤上這事按声。” “怎么了恬吕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵签则,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我铐料,道長(zhǎng)渐裂,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任钠惩,我火速辦了婚禮柒凉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘篓跛。我一直安慰自己膝捞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布愧沟。 她就那樣靜靜地躺著蔬咬,像睡著了一般鲤遥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上林艘,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天盖奈,我揣著相機(jī)與錄音,去河邊找鬼狐援。 笑死钢坦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的啥酱。 我是一名探鬼主播场钉,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼懈涛!你這毒婦竟也來(lái)了逛万?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤批钠,失蹤者是張志新(化名)和其女友劉穎宇植,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體埋心,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡指郁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拷呆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闲坎。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖茬斧,靈堂內(nèi)的尸體忽然破棺而出腰懂,到底是詐尸還是另有隱情,我是刑警寧澤项秉,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布绣溜,位于F島的核電站,受9級(jí)特大地震影響娄蔼,放射性物質(zhì)發(fā)生泄漏怖喻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一岁诉、第九天 我趴在偏房一處隱蔽的房頂上張望锚沸。 院中可真熱鬧,春花似錦涕癣、人聲如沸哗蜈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)恬叹。三九已至候生,卻和暖如春同眯,著一層夾襖步出監(jiān)牢的瞬間绽昼,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工须蜗, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留硅确,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓明肮,卻偏偏與公主長(zhǎng)得像菱农,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柿估,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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