一、定義:應該有且僅有一個原因引起類的變更。(單一職責原則要求一個接口或類只有一個原因引起變化,也就是一個接口或類只有一個職責,它就負責一件事情)
二、優點:1)類的複雜性降低,實現什麼職責都有清晰明確的定義;2) 可讀性提高,複雜性降低,那當然可讀性提高了;3)可維護性提高,可讀性提高,那當然更容易維護了;4)變更引起的風險降低,變更是必不可少的,如果接口的單一職責做得好,一個接口修改只對相應的實現類有影響,對其他的接口無影響,這對系統的擴展性、維護性都有非常大的幫助。
三、最佳實踐:對於單一職責原則,建議是接口一定要做到單一職責,類的設計儘量做到只有一個原因引起變化。