淺談java之設計模式(1)

Unique_LCL發表於2020-11-18

1.單一職責原則,那什麼是單一職責原則呢?單一職責原則的定義是:應該有且僅有一個原因引起類的變更。打電話講話掛電話,包含了資料傳輸和資料管理是兩個部分,是兩個類。
但是單一職責原則最難劃分的就是職責。一個職責一個介面,但問題是“職責”沒有一個量化的標準。單一職責適用於介面、類。

2.里氏替換原則。子類必須完全實現父類的方法。 Java使用extends關鍵字來實現繼承,它採用了單一繼承的規則,C++則採用了多重繼承的規則,一個子類可以繼承多個父類。
有時候為了實現程式碼複用,子類不能完全繼承父類的方法,可以建立與父類關聯委託關係。子類也可以增加方法。另外輸入引數的型別寬於父類的型別覆蓋範圍。

3.依賴倒置原則在Java語言中的表現就是:
模組間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過介面或抽象類產生的;介面或抽象類不依賴於實現類;實現類依賴介面或抽象類。
更加精簡的定義就是“面向介面程式設計”——OOD(Object-Oriented Design,物件導向設計)的精髓之一。
在這種不使用依賴倒置原則的環境中,所有的開發工作都是“單執行緒”的。專案越大,需求變化的概率也越大,通過採用依賴倒置原則設計的介面或抽象類對實現類進行約束,可以減少需求變化引起的工作量劇增的情況。人員的變動在大中型專案中也是時常存在的。依賴倒置原則是6個設計原則中最難以實現的原則。

相關文章