簡介:單一職責原則(single responsibility principle),簡稱srp。
定義:有且僅有乙個原因引起介面或類的變更。
舉例:**通話的過程將會伴隨四個過程---撥號,通話,掛機。對應的**模擬過程如下
public inte***ce iphone
但是這個介面是有問題的,因為它沒有實現srp原則。從中我們可以看到它包含了兩個職責:協議管理和資料傳送。協議管理主要是撥通**和結束通話**部分,資料傳送是通話部分。這樣就會存在兩個原因引起介面的變化,其一,協議管理發生變化,比如以前用的移動打**,我改用電信打**了;其二,通話部分發生變化,通過移動打**改用通過移動上網。而且這兩個職責是互不影響的,如果將其組合在一起就會呈現出強耦合的關係,不利於以後的開發和維護。對此,可將其拆分成兩個介面實現。
public inte***ce iconnectionmanager
public inte***ce idatatransfer
優點:降低了類的複雜性,提高了可讀性,可維護性,變更引起的風險降低。
難點在於職責的劃分,但同時也得考慮實際情況,因專案而異,因環境而異。
六大設計原則
1.單一職責原則 單一職責原則 single responsibility principle,srp 有且僅有乙個原因引起類的變更,乙個介面或類只有乙個職責。2.黎克特制替換原則 黎克特制替換原則 liskov substitution principle,lsp 所有引用基類的地方必須能透明地使...
六大設計原則
六大設計原則,按照英文首字母概括為sollid,可簡單理解為 solid 穩定的。這六大設計原則如下 single responsibility principle 單一職責原則 open closed principle 開閉原則 liskov substitution principle 黎克特...
六大設計原則
開閉原則 對擴充套件開放對修改關閉 軟體在生命週期內會發生變化,開閉原則告訴我們應該通過拓展軟體實體行為來實現變化而不是修改已有 來完成變化 改變要盡量少 變化型別 邏輯變化 子模組變化 可見檢視變化 優點 1.已有 是通過了測試的,減少了測試成本 2.提高復用性 顆粒度越小,被復用的可能性就越大,...