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

一、6大設計模式

1、單一職責原則

  • 核心思想:應該有且僅有一個原因引起類的變更

  • 問題描述:假如有類Class1完成職責T1,T2,當職責T1或T2有變更需要修改時,有可能影響到該類的另外一個職責正常工作。

  • 好處:類的復雜度降低、可讀性提高、可維護性提高、擴展性提高、降低了變更引起的風險。

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

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

 2、里斯替換原則

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

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

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

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

網(wǎng)友評論