物件導向設計原則 java設計模式(一)

2021-08-19 21:28:10 字數 1044 閱讀 6516

單一職責原則

開閉原則

黎克特制替換原則

依賴倒轉原則

介面隔離原則

合成復用原則

迪公尺特法則

確保可復用性。實現設計方案或者源**的復用。

乙個類的職責越多,被復用的可能性越小。當其中乙個職責變化時,可能會影響到其他職責的運作。因此需要職責分離。

重構版本:拆分為3個類。 

基類可以設計為抽象類、介面,增加新的功能通過增加新的子類實現,無需修改原有**。

重構版本:針對資料轉化抽象類程式設計,通過配置檔案指定實現類。

需要注意介面也不能劃分太小,否則會介面氾濫,通常介面中僅包含某一類使用者定製的方法。

重構版本:根據資料來源格式和生成報告還是圖表確定4個介面,每個介面角色較為單一。

通過繼承的復用會將基類的實現暴露給子類,破壞封裝性,稱為白箱復用;通過關聯復用則成員變數的內部實現不可見,稱為黑箱復用。

重構版本:將工具類的父類作為dao類的成員變數使用,dao類針對父類程式設計。不同資料庫的工具類可以繼承父類工具類,從而實現功能的擴充套件。

乙個物件應該只和自己的朋友相互作用,包括: 

物件本身。

依賴物件:以引數形式傳入方法的物件、建立的物件。

關聯物件:成員變數,包含成員變數這一集合的元素。

重構版本:使用控制項互動的中間類,降低控制項的耦合度,新增控制項只需要修改中間類即可。

java物件導向設計原則

軟體開發的乙個不變真理 不變的是變化 1.把會變化的部分取出來並 封裝 起來,好讓其他部分不受影響。封裝變化 2.針對介面程式設計 真正的意思是 針對超型別 程式設計 而不是針對實現程式設計。針對實現程式設計 dog d new dog d.bark 宣告變數 d 為 dog的型別,是animail...

Java與模式 物件導向的設計原則與設計模式

物件導向的設計原則 1 開 閉 原則 open closed principle,或者ocp software entities should be open for extension,but closed for modification 2 黎克特制代換原則 liskov substituti...

物件導向設計 設計原則

職責單一 例如乙個類的只能負責單一的職責 開放 封閉原則 對擴充套件的開放,對修改的封閉。用新的類處理問題,不去修改現有類 liscov替換原則 子類可以替換父類 在沒有過載方法的情況下 依賴倒置原則 依賴介面,不要依賴具體實現。針對介面程式設計,不針對實現程式設計 緊耦合 類似於電腦中可插拔 更換...