一.單一職責原則 就一個類而言,應該僅有一個引起它變化的原因.如果你能想到多於一個的動機去改變一個類,那麼這個類就具有多於一個的職責. 二.開放-封閉原則 對於更改是封閉的,對於擴展是開放的.面對需求,對程式的改動是通過增加代碼來實現的,而不是更改現有代碼,從而保持相對的穩定.如何做到呢?預測最有可 ...
一.單一職責原則
就一個類而言,應該僅有一個引起它變化的原因.如果你能想到多於一個的動機去改變一個類,那麼這個類就具有多於一個的職責.
二.開放-封閉原則
對於更改是封閉的,對於擴展是開放的.面對需求,對程式的改動是通過增加代碼來實現的,而不是更改現有代碼,從而保持相對的穩定.如何做到呢?預測最有可能發生變化的類,構造抽象隔離,對於沒有預測到的類,當發生變化時,創建抽象類來隔離,避免以後發生的同類變化.
三.依賴倒轉原則
A:高層模塊不應該依賴低層模塊,兩個都應該依賴抽象.
B:抽象不應該依賴細節,細節應該依賴抽象(針對介面編程,不要針對實現編程).
四.里氏代換原則
子類型必須能夠替換掉它的父類型(由於子類型的可替換性,才使得使用父類類型的模塊在無需修改的情況下就可以擴展)