面向對象設計原則(三) 單一職責原則

單一職責原則:

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

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

類被修改的機率很大,因此應該專注於單一的功能。如果你把多個功能放在同一個類中,功能之間就形成了關聯,改變其中一個功能,有可能中止另一個功能,這時就需要新一輪的測試來避免可能出現的問題。

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

四、案例:計算幾何程序

違反SRP的案例:


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

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

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


上接:面向對象設計原則(二) 開放-封閉原則

下接:面向對象設計原則(四) 接口隔離原則

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章