一、 六大設計原則
1. 單一職責原則:應該有且僅有一個原因引起類的變更
2. 里氏替換原則:子類可替換父類。
a) 子類必須完全實現父類的方法
b) 子類可以有自己的個性
c) 子類實現父類方法時,入參可放大
d) 子類實現父類方法時,輸出引數可縮小
3. 依賴倒置原則:高層模組不應該依賴底層模組,二者都應該依賴其抽象。
a) 正常依賴情況:高層模組直接依賴底層模組。如果底層模組需要被替換,那麼高層模組程式碼需要跟著變動。耦合程度過高。
b) 倒置原則要求高層模組和底層模組均依賴起抽象,那麼在需要更換底層模組時,僅需將抽象類更換新模組即可。
c) 實現類依賴抽象類或介面,依賴關係透過介面或抽象類產生
4. 介面隔離原則:僅提供客戶端需要的介面,即要求對外的每個介面中的方法儘可能的少。
5. 迪米特法則:一個類只和朋友類交流,即我只跟成員變數,方法的輸入和輸出引數接觸。
6. 開閉原則(最基礎的原則,精神領袖):一個軟體實體(類,介面等)應該對擴充套件開放,對修改關閉。簡單來說就是,在現實開發中,儘可能不去修改其他人的程式碼,而是使用擴充套件,重寫等方法對業務層面的需求進行修改或新增
二、 注意
在實際開發過程中,所有原則均需為實際需求讓路,注意適度原則。我們結合使用六個原則的好處,或者說目標是建立穩定,靈活,健壯的設計。