設計模式 單一職責原則

2021-10-19 14:22:12 字數 1355 閱讀 7613

對於類來說,乙個類應該只負責一項職責。如果a負責兩個不同的職責,職責1,職責2,當職責1需求更改而更改a時,可能造成職責2執行錯誤,所以要將a的粒度分解為a1,a2
1.降低類的複雜度,乙個類只負責一項事情

2.提高可讀性,可維護性

3.降低變更帶來的風險

4.通常情況下,我們應當遵守單一原則,只有邏輯足夠簡單,才可以在**級違反單一原則;只有類中方法數量足夠少,可以在方法級別保持單一職責原則(方案三)

public

class

singleresonsibility1

}/**

* 方案1

* 1. 違反了單一原則問題 : 飛機應在天上飛,如改為在天上飛,則導則汽車錯誤

* 2.解決:

* 根據交通工具不同,分解成不同的類 => 方案二

* 方案2

* 1.遵守單一職責原則

* 2.但這樣做改動大,同時修改客戶端

* 3.改進:直接修改vehicle類,改動少 => 方案三

* 方案3

* 1.只新增了方法

* 2.在類級別上沒有遵頊單一原則,但是在方法級別上,仍然遵守單一原則

設計模式原則 單一職責原則

定義 乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。即 不要存在多於乙個導致類變更的原因。通俗的說,就是乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 ...

設計模式原則 單一職責原則

對類來說的,即乙個類應該只負責一項職責。假如類a負責多項職責,當其中一項職責需求發生變更時,可能對其他職責的執行造成影響。例如 類a負責實現 訂單資料持久化 職責 和 使用者資料持久化 職責,那麼當我們需要修改 使用者資料持久化 需求時,由於 糅雜在乙個類裡,可能會對 訂單資料持久化 的職責造成影響...

設計模式原則 單一職責原則

1.概念 對類來說的,即乙個類應該只負責一項職責。如類a負責兩個不同職責 職責1,職責2。當職責1需求變更而改變a時,可能造成職責2執行錯誤,所以需要將類a的粒度分解為a1,a2。2.問題的提出 package com.atguigu.principle.singleresponsibility p...