1.基礎(chǔ)原則:“開--閉原則”(OCP)
“開—閉原則”的含義是:一個軟件實體應(yīng)該對拓展開放,對修改關(guān)閉须揣。
2.單一職責(zé)原則(SRP)
單一職責(zé)原則的含義是:就一個類而言诀豁,應(yīng)該僅有一個引起它變化的原因畔规。使用此原則可以提高內(nèi)聚伏穆,降低耦合度拘泞。
3.里氏替換原則(LSP)
里氏替換原則的含義是:若對每個S的對象O1,都存在一個類T的對象O2枕扫,使得在所有針對T編寫的程序P中陪腌,用O1替換O2后程序P行為功能不變,則S是T的子類烟瞧。
該原則的具體應(yīng)用體現(xiàn)在繼承關(guān)系上诗鸭,在實現(xiàn)繼承時,子類必須能替換掉它們的基類燕刻。如果一個軟件代碼中使用的是基類的話那么也一定可以使用子類只泼。
4.依賴倒置原則(DIP)
依賴倒置原則的含義是:高層模塊不應(yīng)該依賴于低層模塊剖笙。兩者都應(yīng)該依賴于抽象卵洗。抽象不應(yīng)該依賴于細(xì)節(jié)。細(xì)節(jié)應(yīng)該依賴于抽象弥咪。
在模塊編程中藥依賴抽象編程过蹂,不要依賴于具體細(xì)節(jié)編程,即針對接口編程聚至,不要針對其具體實現(xiàn)編程酷勺。
5.接口隔離原則(ISP)
接口隔離原則的意圖是:不要強迫客戶依賴于他們不需要的方法,應(yīng)當(dāng)用接口將兩者隔離扳躬。