单一职责原理讲解
現在我們來看一下單一職責原則,我們先來看一下定義,不要存在多于一個導致類變更的原因,那這句話怎么理解,假設我們有一個類,負責兩個職責,職責一和職責二,一旦我們的需求變更,比如說職責一相關的功能,需要發生改變,那我們在修改class類的時候,有可能原本變成正常的職責二發生故障,那這個就是我們在構造Class的時候,沒有遵循單一職責原則,那再回到這個定義來說,也就是對于這個Class,職責一和職責二這兩個職責,需求發生改變的時候,都會影響這個class,那就是說這個class他存在兩個職責,這兩個職責都有可能發生變更,他存在兩個改變類的原因,那這個定義就很好理解了,那解決方案就是遵循單一職責原則,對于這兩個職責,分別建立class1和class2,分別負責職責一和職責二,那這樣我們即使在修改職責一的時候,對于負責職責二的class2,也不會發生變更,也不會是他發生故障,這樣也就減輕了負責職責二的class2發生故障的風險,同理修改class2的時候,也不會使class1發生故障,那單一職責原則,體現在哪幾個方面呢,我們來看一下,首先一個類,一個接口,一個方法,體現在這個三個方面,那對于這句話,就是定義的一個擴展,一個類,一個接口,或者一個方法,只負責一項職責,對于他的優點,我們來看一下,降低類的復雜度,提高類的可讀性,提高系統的可維護性,降低變更引起的風險,那我們一句一句來解讀,首先減低類的復雜度,一個類只負責一項職責,對于的邏輯肯定要比負責多個職責簡單的多,提高類的可讀性,那這個類比較簡單,他也就更可讀一些,同時也提高了系統的可維護性,對于降低變更引起的風險,怎么看呢,首先變更是必然的,我們要接受變更,如果單一職責原則遵循的好,當修改一個功能時,可以顯著降低對其他功能的影響,那這里面需要說明的一點是,單一職責原則不僅僅是面向對象編程所特有的,只要是模塊化的程序設計,都適用于單一職責原則,那接下來我們就一起來coding,在coding的過程中我們一起來體會單一職責原則
?
總結
- 上一篇: 开闭原则coding
- 下一篇: 单一职责原理讲解coding