1、單一職責(zé)原則,實(shí)現(xiàn)類要職責(zé)單一
一個類中,應(yīng)該只能有一個能引起它變化的原因。
比如:
一個類負(fù)責(zé)兩個不同的功能,由于功能1需求發(fā)生變更,那么更改類的時候,可能會導(dǎo)致功能2發(fā)生故障。
2、里氏替換原則,不要破壞繼承體系
所有引用基類(父類)的地方必須能透明的使用其子類的對象
3、依賴倒置原則,要面向接口編程
高層模塊不應(yīng)該依賴底層模塊,兩只都應(yīng)該依賴其抽象,抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴抽象,其核心思想是:要面向接口編程,不要面向?qū)崿F(xiàn)編程。
4、接口隔離原則,在設(shè)計(jì)接口的時候要精簡單一
使用多個專門的接口,而不使用單一的總接口,即客戶端不應(yīng)該依賴那些它不需要的接口
5、迪米特原則,要降低耦合
一個軟件實(shí)體應(yīng)當(dāng)盡可能少地與其他實(shí)體發(fā)生相互作用。
6、開閉原則,要對擴(kuò)展開放,對修改關(guān)閉
一個軟件實(shí)體應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉。即軟件實(shí)體應(yīng)盡量在不修改原有代碼的情況下進(jìn)行擴(kuò)展。