Java開發規范-代碼分層及職責

無規矩不成方圓,無規范不能協作

分層參數傳遞及命名流程

  • dao層是數據層,直接進行數據庫的讀寫操作,返回數據對象DO,DO與數據庫表一一對應。
  • service層為業務層,用來實現業務邏輯。能調用dao層或者service層,返回數據對象DO或者業務對象BO,BO通常由DO轉化、整合而來,可以包含多個DO的屬性,也可以是只包含一個DO的部分屬性。通常為了簡便,如果無需轉化,service也可以直接返回DO。外部調用(HTTP、RPC)方法也在這一層,對于外部調用來說,service一般會將外部調用返回的DTO轉化為BO。
  • controller層為控制層,主要處理外部請求。調用service層,將service層返回的BO/DO轉化為DTO/VO并封裝成統一返回對象返回給調用方。如果返回數據用于前端模版渲染則返回VO,否則一般返回DTO。不論是DTO還是VO,一般都會對BO/DO中的數據進行一些轉化和整合,比如將gender屬性中的0轉化“男”,1轉化為“女”等。
數據流傳架構

職責要明確

controller層職責

1.參數校驗

2.調用service層接口實現業務邏輯

3.轉換業務/數據對象

4.組裝返回對象

5.異常處理

service層職責

1.接收Controller層數據

2.與DAO層交互,處理業務邏輯

3.生成DTO數據并返回Controller層

dao層職責

1.數據庫讀寫

2.向service層返回基本類型或DO

3.避免加入業務邏輯

參考阿里代碼規范:阿里代碼規范

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。