**
這裡的職責是指類變化的原因,單一職責原則規定乙個類應該有且僅有乙個引起它變化的原因,否則類應該被拆分。
該原則提出物件不應該承擔太多職責,如果乙個物件承擔了太多的職責,至少存在以下兩個缺點
1.乙個職責的變化可能會削弱或者抑制這個類實現其他職責的能力
2.當客戶端需要該物件的某乙個職責時,不得不將其他不需要的職責全都包含進來,從而造成冗餘**或**的浪費
總結:我們設計軟體應該乙個物件(介面)就承擔一種責任。
單一職責原則的核心就是控制類的粒度大小、將物件解耦、提高其內聚性
降低類的複雜度。
提高類的可讀性
提高系統的可維護性
變更引起的風險降低。
ps:單一職責同樣也適用於方法。乙個方法應該盡可能做好一件事情。如果乙個方法處理的事情太多,其顆粒度會變得很粗,不利於重用。
但是原則是死的,人是活的。所以有些時候我們可以為了效率,犧牲一定的原則性。
package text.dp.srp;
/** * 該介面負責了兩個內容:1、協議管理,2、資料傳送
* 因此違背了單一職責原則
* @author shkstart
* @create 2020-12-03 18:24
*/public
inte***ce
iphone
inte***ce
iconnectionmanager
extends
iphone
inte***ce
idatatransfer
extends
iphone
六大設計原則之單一職責原則
單一職責原則指乙個類應當只負責一件事情。單一職責原則本質上是在提高類的內聚性。帶來的好處有 結合業務去審視類的定義,使類與業務實體相對應。該場景根據筆者看到的真實案例改寫而成。場景描述 一年級做了一次語文模擬考試。現在有如下三個需求 找出得100分的學生 找出分數在 90,100 的學生 找出分數是...
六大設計原則詳解 1 單一職責原則
單一職責原則 srp single responsibility principle 它規定乙個類應該只有乙個發生變化的原因。所謂職責是指類變化的原因。如果乙個類有多於乙個的動機被改變,那麼這個類就具有多於乙個的職責。而單一職責原則就是指乙個類或者模組應該有且只有乙個改變的原因。單一職責原則的好處 ...
六大設計原則詳解 1 單一職責原則
單一職責原則 srp single responsibility principle 它規定乙個類應該只有乙個發生變化的原因。所謂職責是指類變化的原因。如果乙個類有多於乙個的動機被改變,那麼這個類就具有多於乙個的職責。而單一職責原則就是指乙個類或者模組應該有且只有乙個改變的原因。單一職責原則的好處 ...