C 設計原則 單一職責原則

2022-06-09 22:54:15 字數 1132 閱讀 1075

單一職責原則,全稱single responsibility principle,英文縮寫srp。

簡單來說,就是乙個類應該只有乙個變化的原因,在乙個類裡,只負責乙個職責。

如果乙個類需要修改,那麼就是因為其職責發生變化這個原因才需要修改,如果因為其它原因而去修改,那這個類就是負責了多個職責。

這裡定義乙個pen類,它有write寫字的方法。

public

class

pen}

public

static

void main(string

args)

如果想定義用不同顏色的筆來寫,這個設計就滿足不了。比如說,用黑筆和紅筆,這裡就具有兩個職責,乙個是寫黑色字,乙個是寫紅色字。下面修改方法來滿足設計原則。

第一種

public

class

pen

else

if (color == "

red"

)

}}

這樣讓write方法可以同時寫黑字和紅字。設計上,write可以寫不同的字,write是只有乙個寫字的職責。

第二種

public

class

pen

public

void

writered()

}

在pen類中定義writeblack和writered兩個方法。設計上,pen類可以寫黑字和紅字,pen是只有乙個寫字的職責。

第三種

public

class

blackpen

}public

class

redpen

}

定義blackpen和redpen,每種筆都可以寫字。設計上,每種顏色的筆寫對應顏色的字,每個類都只有乙個寫字的職責。

總結

單一職責原則的重點在於職責的劃分,通過職責的細化,體現高內聚的優點,讓各個模組更加清晰,可以減少修改帶來的影響。 

設計原則 單一職責原則

定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t...

設計原則 單一職責原則

1 原則的定義 2 原則設計的初衷 3 能解決哪些問題 4 有哪些場景可以使用 單一職責原則,英文名single responsibility principle,縮寫為srp。乙個類或者模組只負責完成乙個職責 或者功能 也就是說,不要設計大而全的類,要設計粒度小,功能單一的類。換個角度來講就是,乙...

設計原則 單一職責原則

在物件導向程式設計領域中,單一職責原則 single responsibility principle 規定每個類都應該有乙個單一的功能,並且該功能應該由這個類完全封裝起來。所有它的 這個類的 服務都應該嚴密的和該功能平行 功能平行,意味著沒有依賴 乙個類或者模組應該有且只有乙個改變的原因。乙個具體...