定義:
乙個類只有乙個發生變化的原因。通俗的說,乙個類只負責一項職責。又稱單一功能原則,適用於介面、方法、類
原理:如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力
優點:降低類的複雜度
提高類的可讀性
提高系統的可維護性
變更引起的風險降低,乙個介面的修改只對相應的實現類有影響,對其他介面無影響,這對系統的擴充套件性,維護性都有非常大的幫助
示例:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace srp.study
}
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace srp.study
}
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace srp.study
///
public void playmusic()
}}
拆分類,確認單一職責
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace srp.study
}}
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace srp.study
}}
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace srp.study
catch (exception ex)
console.readkey();}}
}
六大原則之單一職責原則
六大原則之單一職責原則 1 什麼是單一職責原則 單一職責比較官方的的定義是 應該有且僅有乙個原因引起類的變更。說的通俗點其實就 像是工廠裡的流水線一樣,每個車間基本上只做一件事,所有車間組合起來就是乙個生產流程。我 們寫程式的時候也可以這樣,將乙個類的功能細化一下爭取做到乙個類只做一件事。到多各類去...
設計模式六大原則之 單一職責原則
規定乙個類只有乙個發生變化的原因。通俗理解為 乙個類只負責一項職責。類t負責兩個不同的職責,當職責p1改變需求時需要修改t類,這時候就有可能因為修改的邏輯導致職責p2出現故障 遵循單一原則,建立兩個類t1和t2,在修改t1的時候不會影響t2,同理,修改t2的時候也不影響t1的邏輯 類的單一職責比較難...
設計模式六大原則 單一職責原則
設計模式六大原則 1 單一職責原則 定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責,乙個人只負責做一件事。乙個類,只有乙個引起它變化的原因。應該只有乙個職責。每乙個職責都是變化的乙個軸線,如果乙個類有乙個以上的職責,這些職責就耦合在了一起。這會導致脆弱的設計。當乙個職責發生...