1蘸泻、單一職責(zé)原則(Single Responsibility Principle,縮寫SRP)
對于一個(gè)類來說,應(yīng)當(dāng)只有一個(gè)引起他變化的原因。它是對一組相關(guān)性很高的函數(shù)圃酵、數(shù)據(jù)的封裝。在開發(fā)過程中我們單一職責(zé)的劃分是一種很模糊的概念馍管,在很多時(shí)候郭赐,我們需要依靠個(gè)人的經(jīng)驗(yàn)來界定。因?yàn)殚_發(fā)者的經(jīng)驗(yàn)不同确沸,有可能導(dǎo)致在對類的職責(zé)劃分的時(shí)候產(chǎn)出不同的理解捌锭。
2俘陷、開閉原則(Open Close Principle,縮寫OCP)
開閉原則的定義:軟件的對象(類、模塊观谦、函數(shù))應(yīng)該對于擴(kuò)展是開放的拉盾,但是對于修改是封閉的。
在我們的開發(fā)過程中坎匿,因?yàn)樽兓苁!⑸壓途S護(hù)等原因需要對原代碼進(jìn)行修改時(shí),可能會將錯誤引入帶原本已經(jīng)測試穩(wěn)定的舊代碼中替蔬,破壞原有系統(tǒng)告私。因此,我們在實(shí)際開發(fā)過程中承桥,應(yīng)該盡量通過擴(kuò)展的方式來實(shí)現(xiàn)變化驻粟,而不是直接修改已有的代碼
3、里氏替換原則
里斯替換原則依賴于繼承和多態(tài)兩大特性凶异,簡單的說就是蜀撑,所有引用基類的地方必須能透明地使用其子類的對象。只要父類出現(xiàn)的地方子類就可以出現(xiàn)剩彬,而且替換成子類不會有任何的錯誤或異常酷麦,使用者可能根本就不需要知道是父類還是子類。
4喉恋、依賴倒置原則
依賴倒置原則是一種特定的解耦形勢沃饶,使得高層次的模塊不依賴于低層次的模塊的實(shí)現(xiàn)細(xì)節(jié)
依賴倒置原則的幾個(gè)關(guān)鍵點(diǎn):
(1)高層模塊不應(yīng)該依賴低層模塊,兩者之間都應(yīng)該依賴其抽象
(2)抽象不應(yīng)該依賴細(xì)節(jié)
(3)細(xì)節(jié)應(yīng)該依賴抽象
5轻黑、接口隔離原則
類與類之間的依賴關(guān)系應(yīng)該建立在最小的接口之上糊肤,接口隔離原則將非常龐大、臃腫的接口拆分成更小的和更具體的接口氓鄙,這樣客戶端將會只需要知道他們感興趣的方法馆揉。
接口隔離原則的摸底是系統(tǒng)解開耦合,從而更容易重構(gòu)抖拦,更改和重新部署升酣。
6、迪米特原則
也稱為最少知識原則态罪,一個(gè)對象應(yīng)該對其其他對象有最少的了解噩茄。簡單的講就是一個(gè)類應(yīng)該對自己需要耦合或者調(diào)用的類知道最少,類的內(nèi)部如何實(shí)現(xiàn)與調(diào)用者或者依賴著沒有冠以向臀,調(diào)用者或者依賴者只需要知道他需要的方法即可。類和類之間的關(guān)系越密切诸狭,耦合度越大券膀,當(dāng)一個(gè)類發(fā)生改變時(shí)君纫,對另一個(gè)類的影響也大。