設(shè)計(jì)模式,及軟件設(shè)計(jì)中的“套路”。每一個(gè)模式描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題解決方案的核心,這樣,你就能一次又一次的使用該方案而不必做重復(fù)的勞動(dòng)。設(shè)計(jì)模式大約有20多種,它們使人們可以更加簡(jiǎn)單方便的復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu),提高系統(tǒng)維護(hù)的有效性。與設(shè)計(jì)模式密切相關(guān)的是6大設(shè)計(jì)原則,那么就從這些設(shè)計(jì)原則開始設(shè)計(jì)模式重溫之旅吧。(ps:內(nèi)容有點(diǎn)小多)

一、6大設(shè)計(jì)模式

1、單一職責(zé)原則

  • 核心思想:應(yīng)該有且僅有一個(gè)原因引起類的變更

  • 問題描述:假如有類Class1完成職責(zé)T1,T2,當(dāng)職責(zé)T1或T2有變更需要修改時(shí),有可能影響到該類的另外一個(gè)職責(zé)正常工作。

  • 好處:類的復(fù)雜度降低、可讀性提高、可維護(hù)性提高、擴(kuò)展性提高、降低了變更引起的風(fēng)險(xiǎn)。

  • 需注意: 單一職責(zé)原則提出了一個(gè)編寫程序的標(biāo)準(zhǔn),用“職責(zé)”或“變化原因”來衡量接口或類設(shè)計(jì)得是否優(yōu)良,但是“職責(zé)”和“變化原因”都是不可以度量的,因項(xiàng)目和環(huán)境而異。

  單一職責(zé)就是讓類(或方法)的功能單一,做到術(shù)業(yè)有且專攻,是不是有點(diǎn)UNIX設(shè)計(jì)思想的感覺?

 2、里斯替換原則

  • 核心思想:在使用基類的的地方可以任意使用其子類,能保證子類完美替換基類。

  • 通俗來講:只要父類能出現(xiàn)的地方子類就能出現(xiàn)。反之,父類則未必能勝任。

  • 好處:增強(qiáng)程序的健壯性,即使增加了子類,原有的子類還可以繼續(xù)運(yùn)行。

  • 需注意:如果子類不能完整地實(shí)現(xiàn)父類的方法,或者父類的某些方法在子類中已經(jīng)發(fā)生“畸變”,則建議斷開父子繼承關(guān)系 采用依賴、聚合、組合等關(guān)系代替繼承。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式