一,單一功能原則
1.1,對單一功能原則的了解
對于一個類而言,應該僅有一個引起它變化的原因。對象不應該承擔太多職責,隻有對象的職責比較單一,才能保證對象的高内聚,對象的高内聚有利于對象的重用。
1.2,單一功能原則的優缺點
優點:
- 單一功能原則有利于對象的穩定。所謂"職責",就是對象能夠承擔的責任,并以某種行為方式來執行。對象的職責總是要提供給其他對象調用,進而形成對象與對象的協作,由此産生對象之間的依賴關系。對象的職責越少,則對象之間的依賴關系就越少,耦合度減弱,受其他對象的限制與牽制就越少,進而保證了系統的可擴充性。
- 變更引起的風險降低,變更是必不可少的,接口的單一職責做的好的話,一個接口修改隻對相應的實作類有影響,與其他的接口無影響,這個是對項目有非常大的幫助。
- 降低類的複雜性,提升程式的可讀性,可讀性提高,那當然更容易維護了。
1.3,單一功能原則的難點
- 職責劃分無量化标準。
- 單一職責妥協:項目中單一職責原則很少得以展現,或者非常難(囿于國内技術人員的地位、話語權、項目中的環境、工作量、人員的技術水準、硬體資源等,最終的結果就是常常違背單一職責原則)。