1. srp 單一職責原則:用於指導類的設計
乙個類只負責一組相關的事情,也就是說乙個類有多個方法,但這些方法都是相關的。(適用於基礎類,不適合用來約束基於基礎類構建的複雜類)
2. lsp 黎克特制替換原則:用於指導類繼承的設計
(1)子類必須實現或者繼承父類所有的公有方法。
(2)子類每個方法的輸入引數必須和父類一樣,否則呼叫父類方法的呼叫者將呼叫不到子類的方法。
(3)子類每個方法的輸出必須不比父類少,否則基於父類輸出的處理將無法完成。
3. isp 介面隔離原則:用於指導介面的設計
應該讓消費者按需實現介面,而避免設計大而全的介面,導致消費者實現介面時必須要實現一些並不需要的方法。
4. dip 依賴反轉原則:用於指導如何抽象
高層模組不應該直接依賴低層模組,兩者都應該依賴抽象層。也就是高層模組應該用介面做引數,而低層模組應該實現介面。
5. ocp 開閉原則:總的指導思想,符合其他幾個原則時一般就符合 ocp 原則了
對擴充套件開放,對修改關閉,也就是說當提供者的功能有了替代實現時,消費者的**不需要更改。(當提供者新增了乙個全新的功能時,消費者當然還是需要新增呼叫)
物件導向設計原則
oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...
物件導向設計原則
物件設計原則 物件導向設計原則 物件導向設計的基石是 開 閉 原則。開一閉 原則講的是 乙個軟體實體應當對擴充套件開放,對修改關閉。這個規則說的是,在設計乙個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件。從另外乙個角度講,就是所謂的 對可變性封裝原則 對可變性封裝原則 意味著兩點 1 ...
物件導向設計原則
oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...