1. 程式人生 > >單一職責原則,開放-封閉原則,依賴倒轉原則

單一職責原則,開放-封閉原則,依賴倒轉原則

單一職責原則(SRP):就一個類而言,應該僅有一個引起它變化的原因。

如果一個類承擔的職責過多,就等於把這些職責耦合在一起,一個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭到意想不到的破壞[ASD]。

開放-封閉原則:是說軟體實體(類、模組、函式等等)應該可以擴充套件,但是不可以修改。

特徵:對擴充套件開放,對應更改是封閉的。

在我們最初編寫程式碼時,假設變化不會發生。當變化發生時,我們就建立抽象來隔離以後發生的同類變化。不過,這個變化發現越早,就越容易建立正確的抽象。

依賴倒轉原則:抽象不應該依賴細節,細節應該依賴於抽象。簡言之要針對介面程式設計,不要對實現程式設計。(要依賴介面或抽象類)

里氏代換原則:一個軟體實體如果使用的是一個父類的話,那麼一定使用與其子類,而且察覺不出父類物件和子類物件的區別。也就是說,在軟體裡面,把父類都替換成它的子類,程式行為沒有變化。