在程序設計領域, SOLID(單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉),指代了面向對象編程和麪向對象設計的五個基本原則。當這些原則被一塊兒應用時,它們使得一個程序員開發一個容易進行軟件維護和擴展的系統變得更加可能。
不要存在多於一個致使類變動的緣由。簡單的講,認爲對象應該僅具備一種單一功能。java
類A 負責兩個職責P1、職責P2。當因爲職責P1需求發生改變時,而須要在類A中修改職責P1。有可能使本來正常運行的職責P2發生故障。程序員
//不符合 單一職責原則 public class UserService { // ...增長 User 功能 // ...刪除 User 功能 // ...更新 User 功能 // ...查詢 User 功能 // ...User 登陸功能 }
上面這個UserService
類能夠看做有兩個職責:編程
根據單一職責原則應該將這兩個職責分別放在兩個類中:微信
//符合 單一職責原則 public class UserDataService { // ...增長 User 功能 // ...刪除 User 功能 // ...更新 User 功能 // ...查詢 User 功能 } public class UserAuthService { // ...User 登陸功能 }
SOLID (面向對象設計)——單一職責原則,你學會了嗎?學習