SRP = Single Responsibility Principle 定義:就一個類而言,應該只有一個能引起他變化的原因。通俗的說,即一個類只負責一項職責。 作用: 1、減少了類之間的耦合 2、最簡單最單純的事情才是最容易控制,最有效 3、當需求變化時,只需要修改一個地方 4、 避免寫臃腫的方 ...
SRP = Single Responsibility Principle 定義:就一個類而言,應該只有一個能引起他變化的原因。通俗的說,即一個類只負責一項職責。 作用: 1、減少了類之間的耦合 2、最簡單最單純的事情才是最容易控制,最有效 3、當需求變化時,只需要修改一個地方 4、 避免寫臃腫的方法(俗稱萬能方法、大方法) 常見錯誤: 這裡會計類有兩個方法:計算工資方法和存儲數據方法。這兩個方法並不是一個職責,雖然看起來他們都是會計需要做的事情,但是引起他們變化的原因是不同的。 引起計算工資方法變化的原因可能是由於政策、公司變動等等因素。 引起存儲數據方法變化的原因可能是 數據結構的變化。 所以這段代碼是不符合單一職責原則的。 這個介面定義了 資料庫連接和資料庫操作。那麼引起資料庫連接變化和資料庫操作變化的原因是不一樣的。 引起資料庫連接變化的原因是:更換了資料庫,比如從sql server變成了oracle 引起資料庫操作變化的原因是: 資料庫表結構發生了變化 所以這是兩個職責。 所以這段代碼是不符合單一職責原則的。我們應該把它分為兩個介面。