問題由來:(一心二用,效率降低)
類t負責兩個不同的職責:職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。
解決方案:(專注做某件事情)
遵循單一職責原則。分別建立兩個類t1、t2,使t1完成職責p1功能,t2完成職責p2功能。這樣,當修改類t1時,不會使職責p2發生故障風險;同理,當修改t2時,也不會使職責p1發生故障風險。
定義:不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。
優點:1、可以降低類的複雜度,乙個類只負責一項職責,其邏輯肯定要比負責多項職責簡單的多;
2、提高類的可讀性,提高系統的可維護性;
3、變更引起的風險降低,變更是必然的,如果單一職責原則遵守的好,當修改乙個功能時,可以顯著降低對其他功能的影響。
注:單一職責原則不只是物件導向程式設計思想所特有的,只要是模組化的程式設計,都適用單一職責原則。
單一職責原則
定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t...
單一職責原則
單一職責原則 乙個類,只有乙個引起它變化的原因。應該只有乙個職責。每乙個職責都是變化的乙個軸線,如果乙個類有乙個以上的職責,這些職責就耦合在了一起。這會導致脆弱的設計。當乙個職責發生變化時,可能會影響其它的職責。另外,多個職責耦合在一起,會影響復用性。例如 要實現邏輯和介面的分離。對於user類,裡...
單一職責原則
單一職責原則 名詞解釋 單一職責原則 srp single responsibility principle 又稱單一功能原則,物件導向六個基本原則之一。它規定乙個類應該只有乙個發生變化的原因。該原則由羅伯特 c 馬丁 robert c.martin 於 敏捷軟體開發 原則 模式和實踐 一書中給出的...