單一職責 (****** responsibility pinciple, srp) 是指不要存在多於乙個導致類變更的原因乙個類如果負責兩個職責,當需求發生變更,修改其中乙個職責的邏輯時,可能會導致另乙個職責功能發生意想不到的問題.
建立乙個 course 類, 體育課送一套護具,其他課程不送
public class course else
}}
呼叫**
public static void main(string args)
可以看到,course類承擔了2種職責,如果需要對不同年齡的人員,設定不同的專門課程,體育課和文化課必然邏輯不同,而修改**的邏輯也會彼此影響,容易出現意料之外的問題,如何解耦?
建立乙個體育課程sportscourse
public class sportscourse
}
建立乙個文化課程artcourse
public class artcourse
}
呼叫**
public static void main(string args)
業務新增, 新增許可權功能, 沒付費的,只能獲取課程基本資訊,加入討論群, 付費使用者,還可以獲取課程付費內容,並可以申請退款
public inte***ce icourse
可以把這乙個介面拆分為兩個介面,免費的乙個介面, 付費的乙個介面
免費使用者功能介面
public inte***ce icoursefree
付費使用者功能介面
public inte***ce icoursepay
由於專案規模,週期,技術人員水平等原因, 很多類都不符合單一職責
但是,我們在編寫**過程中,應該盡可能的讓介面和方法都保持單一職責,這對後續的維護會有很大的幫助
設計原則 單一職責原則
定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t...
設計原則 單一職責原則
1 原則的定義 2 原則設計的初衷 3 能解決哪些問題 4 有哪些場景可以使用 單一職責原則,英文名single responsibility principle,縮寫為srp。乙個類或者模組只負責完成乙個職責 或者功能 也就是說,不要設計大而全的類,要設計粒度小,功能單一的類。換個角度來講就是,乙...
設計原則 單一職責原則
在物件導向程式設計領域中,單一職責原則 single responsibility principle 規定每個類都應該有乙個單一的功能,並且該功能應該由這個類完全封裝起來。所有它的 這個類的 服務都應該嚴密的和該功能平行 功能平行,意味著沒有依賴 乙個類或者模組應該有且只有乙個改變的原因。乙個具體...