單一職責原則筆記

2021-10-10 13:00:54 字數 781 閱讀 8520

以下以類說明單一職責原則(介面,方法同理)

單一職責原則,通俗來說,乙個類只負責一項任務。

以前我們用乙個類來說明鳥飛行的方式時,先判斷鳥的型別,然後輸出方法。例如以下**:

bird類

public

class

bird

else

}}

test主類

public

class

test

}

當鳥類的種類少時,可能程式不太緊要。但隨著鳥類的種類數目越來越多時,邊界判斷就越來越大,變更時的風險就越大。

現在將bird類拆分,分為walkbird 和flybird兩類.

walkbird類

public

class

walkbird

}

flybird類

public

class

flybird

}

test主類

public

class

test

}

結構圖:

單一職責原則

定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類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...