對類來說的, 即乙個類應該只負責一項職責。
假如類a負責多項職責,當其中一項職責需求發生變更時,可能對其他職責的執行造成影響。
例如:類a負責實現 「訂單資料持久化」職責 和 「使用者資料持久化」職責,那麼當我們需要修改 「使用者資料持久化」 需求時,由於**糅雜在乙個類裡,可能會對 「訂單資料持久化」的職責造成影響。
所以我們的做法,應當把原來的類a拆分成多個類,分別負責單一項職責,這樣就不會發生上述問題了。
降低類的複雜度,乙個類只負責一項職責。即單一職責原則是在類的級別使用的
提高類的可讀性,可維護性。職責單一之後,更新類不會影響其他的職責,**的變得更好維護
降低變更引起的風險。減少修改帶來的多職責連鎖反應的發生
通常情況下,我們應當遵守單一職責原則,只有邏輯足夠簡單,才可以在**級違反單一職責原則;只有類中方法數量足夠少,可以在方法級別保持單一職責原則。即當使用類級別執行單一職責原則開銷大於收益時,可以選擇在類的方法上使用單一職責原則
本章結束
返回目錄
如果本文有幫助到您,可以點一下右上角的贊哦,謝謝啦
設計模式原則 單一職責原則
定義 乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。即 不要存在多於乙個導致類變更的原因。通俗的說,就是乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 ...
設計模式原則 單一職責原則
1.概念 對類來說的,即乙個類應該只負責一項職責。如類a負責兩個不同職責 職責1,職責2。當職責1需求變更而改變a時,可能造成職責2執行錯誤,所以需要將類a的粒度分解為a1,a2。2.問題的提出 package com.atguigu.principle.singleresponsibility p...
設計原則 單一職責原則
定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t...