java物件導向設計原則

2021-08-15 22:20:34 字數 456 閱讀 5367

軟體開發的乙個不變真理:不變的是變化

1. 把會變化的部分取出來並「封裝」起來,好讓其他部分不受影響。(封裝變化)

2. 針對介面程式設計(真正的意思是「針對超型別」程式設計),而不是針對實現程式設計。

針對實現程式設計

dog d = new dog();

d.bark();

宣告變數 d 為 dog的型別,(是animails的具體實現),會造成我們必須針對具體實現程式設計。

但是,「針對介面/超型別程式設計」,做法如下

animal animal = new dog();

animal.makesound();

我們知道該物件是狗,但是我們在利用animal進行多型的呼叫。

3.多用組合,少用繼承。

4.為了物件之間的松耦合設計而努力。

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

單一職責原則 開閉原則 黎克特制替換原則 依賴倒轉原則 介面隔離原則 合成復用原則 迪公尺特法則 確保可復用性。實現設計方案或者源 的復用。乙個類的職責越多,被復用的可能性越小。當其中乙個職責變化時,可能會影響到其他職責的運作。因此需要職責分離。重構版本 拆分為3個類。基類可以設計為抽象類 介面,增...

Java物件導向16種設計原則

一 類的設計原則 1 依賴倒置原則 dependency inversion principle dip 2 黎克特制替換原則 liskov substitution principle lsp 3 介面分隔原則 inte ce segregation principle isp 4 單一職責原則 ...

物件導向設計原則

oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...