對單一職責的理解
按字面意思理解,單一職責就是自己只負責自己的事,不需要去關心別人的事。對於乙個類來說,乙個類承擔乙個職責就是,引起它變化的原因有且僅有乙個。如果用大白話來講,每個人都負責自己的事情,不要一攬子都弄到自己身上,到時候出問題了都得找你,你忙不過來。
在面對物件程式設計中,每個物件只負責自己的任務,比如該提供資料的就只是提供資料,該負責提供服務的就只提供服務,這樣的開發方式**耦合較低,較靈活,易擴充套件。好比物件承擔的職責越多,它被復用的可能性就越小,而且乙個物件承擔的職責過多,就相當於將這些職責關聯在一起,當其中乙個職責變化時,可能會影響其他職責的動態變化,因此要將這些職責進行分離,從而降低物件的職責負擔和關聯。
比如像很常見的**的前後端分離,介面和介面實現的分離等。如果乙個類中,需要某個功能,而這個功能與該類的聯絡又不緊密,並且別的類似的類可能也會需要這樣的功能,那麼完全可以把該功能提取到乙個新類裡面,使用組合的方式來獲取該功能。比如乙個學校的登陸系統,可能需要驗證使用者輸入的學號是否正確,但是又不僅僅在登陸的時候需要進行驗證,比如去圖書館,去宿舍,都可能需要對學號進行驗證,那麼就可以把這個驗證功能提取到乙個公共的驗證類裡面,然後使用組合的方式,來獲取驗證學號的功能。這就是乙個單一職責,驗證類只負責驗證,需求的變化也更好維護。
單一職責我的理解
設計類的時候應該是有管理類 控制類 邊界類和實體類。在類裡面進行操作的時候應該遵循單一職責原則,什麼叫做單一職責原則,也就是引起類變化的只有乙個原因,我感覺這句話等於白說,基本上不知道這是什麼意思。我感覺還是應該分情況來說 類都有兩種屬性 狀態和職責。對於實體類來說,狀態就是它能夠反映給外面的。實體...
單一職責原則
定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t...
單一職責原則
單一職責原則 乙個類,只有乙個引起它變化的原因。應該只有乙個職責。每乙個職責都是變化的乙個軸線,如果乙個類有乙個以上的職責,這些職責就耦合在了一起。這會導致脆弱的設計。當乙個職責發生變化時,可能會影響其它的職責。另外,多個職責耦合在一起,會影響復用性。例如 要實現邏輯和介面的分離。對於user類,裡...