2 單一職責原則

2021-10-08 19:14:32 字數 540 閱讀 2260

單一職責原則規定乙個類應該有且僅有乙個引起它變化的原因,否則類應該被拆分。

我們在程式設計時,若是將所有的功能放在乙個類中,比如:業務校驗、加解密演算法、資料庫操作等,就會造成任意乙個需求變動都會修改此類,非常不利於維護,復用性很差,也缺乏靈活性。

單一職責原則的核心就是控制類粒度的大小,實現低耦合、高內聚。具體作用體現在如下幾點:

<1> 降低程式的複雜度,提高程式的可讀性

乙個類只負責一項職責,邏輯就會比多職責的情況下簡單的多,讀起來自然也就通俗易懂。

<2> 提高程式的可維護性,降低變更風險

乙個類的修改只會影響此類所負責的那乙個職責,不會對其他職責產生影響。

在運用單一職責原則時,需要設計人員仔細研究分析並發現類的不同職責,然後將其分離並封裝到其他類中。

那麼我們該怎麼運用單一職責原則呢?其實這個需要我們有重構的意識,實際的程式設計中,因各種各樣的原因會將多個職責寫到同乙個類中, 我們在編寫時,或編寫後一定要仔細回顧,對已完成的功能進行重構,當遇到此類中實現了多個功能時就要考濾是否可以將其拆分,若可以,則將其中乙個功能拆出來封裝到另乙個類中。

單一職責原則

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

單一職責原則

單一職責原則 乙個類,只有乙個引起它變化的原因。應該只有乙個職責。每乙個職責都是變化的乙個軸線,如果乙個類有乙個以上的職責,這些職責就耦合在了一起。這會導致脆弱的設計。當乙個職責發生變化時,可能會影響其它的職責。另外,多個職責耦合在一起,會影響復用性。例如 要實現邏輯和介面的分離。對於user類,裡...

單一職責原則

問題由來 一心二用,效率降低 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 專注做某件事情 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t2完成職責p2功能。這樣,當修改類t1...