定義:不要存在多於乙個導致類變更的原因,即乙個類只負責一項職責。
問題:如果乙個類t負責兩個不同的職責p1,p2。
當職責p1發生改變需要改變類t時,有可能會導致原本正常執行的職責p2功能發生故障。
解決:對於每個職責分別用乙個類進行包裝。
給出的例子來說明這一原則。
public class animal
}
public class client
}
animal負責呼吸的類,後來發現問題:不是所有的動物都是呼吸空氣的,比如說魚。修改時遵循單一職責原則,需要將animal類進行細分為陸生動物類terrestrial和水生動物aquatic
public class terrestrial
}
public class aquatic
}
public class client
}
設計模式原則 單一職責原則
定義 乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。即 不要存在多於乙個導致類變更的原因。通俗的說,就是乙個類只負責一項職責。問題由來 類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...