物件導向設計原則(三) 單一職責原則

2021-08-20 08:48:44 字數 735 閱讀 1392

單一職責原則:

一、核心關鍵:就乙個類而言,應該僅有乙個引起它變化的原因。

二、有關類的職責分配問題,是物件導向設計中最重要的基本原則。

類被修改的機率很大,因此應該專注於單一的功能。如果你把多個功能放在同乙個類中,功能之間就形成了關聯,

改變其中乙個功能,有可能中止另乙個功能,這時就需要新一輪的測試來避免可能出現的問題。

三、srp體現了內聚性(乙個模組的組成元素之間的功能相關性)。

四、案例:計算幾何程式

違反srp的案例:

rectangle類可能會因為兩方面的原因而變化:計算幾何方面的原因和使用者介面設計方面的原因。其中之一發生變化後,必須修改rectangle類,而這種修改則可能導致另一應用程式出錯。除此之外,違反srp還會帶來物理依賴的缺點。

解決方案:增加乙個新的類,使得每個類僅有乙個職責。

總結:就乙個類而言,應該僅有乙個引起它變化的原因

上接:物件導向設計原則(二) 開放-封閉原則

下接:物件導向設計原則(四) 介面隔離原則

如有錯誤,還請指出,非常感謝!!

物件導向設計原則 單一職責原則

單一職責原則是最簡單的物件導向設計原則,它用於控制類的粒度大小。單一職責原則定義如下 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領 域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。單一職責原則告訴我們 乙個類...

物件導向設計原則 單一職責原則 SRP

晚 上在宿舍把webcast翻出來,聽了李建忠講的關於物件導向設計的幾天基本設計原則的課,半懂非懂聽了下來,聽完之後除了茫然還是茫然!也好,只有這樣才能知道自己所知甚淺,所學甚糙!革命遠未成功,吾須戒驕戒躁!ps 個人覺得李建忠講課水平一般,可能他是乙個非常好的程式設計師,但不是乙個好的講課員,大概...

物件導向設計原則之單一職責原則

單一職責原則是最簡單的物件導向設計原則,它用於控制類的粒度大小。單一職責原則定義如下 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。單一職責原則告訴我們 乙個類不...