SRP = Single Responsibility Principle
定義:就一個類而言,應該只有一個能引發他變化的緣由。通俗的說,即一個類只負責一項職責。
做用:
一、減小了類之間的耦合
二、最簡單最單純的事情纔是最容易控制,最有效
三、當需求變化時,只須要修改一個地方
四、 避免寫臃腫的方法(俗稱萬能方法、大方法)
常見錯誤:
這裏會計類有兩個方法:計算工資方法和存儲數據方法。這兩個方法並非一個職責,雖然看起來他們都是會計須要作的事情,可是引發他們變化的緣由是不一樣的。
引發計算工資方法變化的緣由多是因爲政策、公司變更等等因素。
引發存儲數據方法變化的緣由多是 數據結構的變化。
因此這段代碼是不符合單一職責原則的。
這個接口定義了 數據庫鏈接和數據庫操做。那麼引發數據庫鏈接變化和數據庫操做變化的緣由是不同的。
引發數據庫鏈接變化的緣由是:更換了數據庫,好比從sql server變成了oracle
引發數據庫操做變化的緣由是: 數據庫表結構發生了變化
因此這是兩個職責。 因此這段代碼是不符合單一職責原則的。咱們應該把它分爲兩個接口。