1,單一職責原則(SRP)函數
對於一個類而言,應該僅有一個引發它變化的緣由。(封裝)對象
2,開放-封閉原則(OCP)繼承
軟件實體(類,模塊,函數)應該能夠擴展,可是不可修改。(繼承)擴展
將發生變化的種類,抽象出來隔離變化軟件
3,依賴倒置原則(DIP)程序
高層模塊不該該依賴低層模塊,兩個都應該依賴抽象; 封裝
抽象不該該依賴細節,細節應該依賴抽象。(繼承)
4,里氏代換原則(LSP)
子類型必須可以替換掉它們的父類型。(多態)
一個軟件實體,若是使用是一個父類的話,那麼必定適用於其子類,並且它察覺不出父類對象和子類對象的區別。也就是說,在軟件裏面,把父類都替換成它的子類,程序行爲沒有變化。
封裝,繼承,多態