基礎原則之單一職責原則

2022-06-29 18:45:07 字數 999 閱讀 3627

一、什麼是srp

srp是(single-responsibility principle)"單一職責原則"的簡稱: 乙個類只有乙個促使它變化的原因。所謂職責,我們可以理解它為功能,就是設計的這個類功能應該只有乙個,而不是兩個或更多。也可以理解為引用變化的原因,當你發現有兩個變化會要求我們修改這個類,那麼你就要考慮撤分這個類了。"就像每個學生都要上多門課程,如果"「就像乙個人身兼數職,而這些事情相互關聯不大,,甚至有衝突,那他就無法很好的解決這些職責,應該分到不同的人身上去做才對。」

二、srp原理:

案例一:實體類。

這是乙個員工類,表示員工的基本資訊。其中name,firstname,lastname違回了srp原則。 

internal class

employee

將name,firstname,lastname封裝.

internal class employeename

改建好後employee類如下:

當然當有某個類不再承擔足夠多的職責,不再有單獨存在的理由時,就可以採用內部類,將子類(employeename)塞到最常使用它的類中去。 

internal class employee

}

三、srp優點:

消除耦合,減少**之間的依賴性

四、使用srp注意點:

1、乙個合理的類,應該僅有乙個引起它變化的原因,即單一職責srp; 

2、在沒有變化徵兆的情況下應用srp或其他原則是不明智的; 

3、在需求實際發生變化時就應該應用srp等原則來重構**; 

4、使用測試驅動開發會迫使我們在設計出現臭味之前分離不合理**; 

5、如果測試不能迫使職責分離,僵化性和脆弱性的臭味會變得很強烈,那就應該用facade或proxy模式對**重構;

設計原則之單一職責原則

無論是什麼設計原則,全部都是圍繞 專案的生命週期 和 高內聚,低耦合 這兩個關鍵字。定義 單一職責原則 srp single responsibility principle 又稱單一功能原則,它規定了乙個類應該只有乙個發生變化的原因,即乙個類只負責一項職責。字面上很好理解,但是如果做起來卻很難做到...

設計原則之單一職責原則

什麼是單一職責原則 定義 有且僅有乙個使介面或類產生變化的原因。也就是說我們使類或介面變化,只能有乙個理由。但是在實際開發的過程中,我們很容易做到介面單一職責,很難做到類單一職責。例如 我們以查詢資料,處理資料,返回資料為例。如果我們這樣設計乙個介面 public inte ce iuserbo p...

單一職責原則

定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t...