包名的命名規範(Package)
推薦使用公司或機構的頂級域名作為包名的前綴,所使用的包名的唯一性。包名的命名必須全部為小寫字母,且具有實際的區分意義。
結合應用分層,Web層(頁面控制action類),Service層(業務處理)、 Dao層(數據庫訪問),關於模塊的訪問操作,採用分層形式,一般分為:
- Dao層操作:使用 dao 做後綴。
- Service層操作:使用 servie 做後綴。
- Web層操作:使用 action 做後綴。
類名的命名規範 (Class)
類名必須使用駝峰式命名,且具有實際的區分意義。結合應用分層,Web層(頁面控制action類)、Service層(業務處理)、Dao層(數據庫訪問),每一層類的名稱需要以對應層作為後綴,如下。
Dao層
- Dao層接口類:一般採用 "實體對象+nterface+Dao" 的命名形式。
- Dao層接口實現類:一般採用 "實體對象+Interface+Impl+Dao" 的命名形式。
Service層
- Service層接口類:一般採用 "模塊+Interface+Service" 的命名形式。
- Service層接口實現類:一般採用 "模塊+Interface+Impl+Service" 的命名形式。
Web層
- Web層實現類:一般採用 "模塊+操作+Action" 的命名形式。
實體類的命名規範 (Class)
分層領域模型規約
- DO(Data Object):與數據庫表結構對應,通過DAO層向上傳輸數據源對象。
- DTO(Data Transfer Object):數據傳輸對象,Service或Manager向外傳輸的對象。
- BO(Business Object):業務對象,由Service層輸出的封裝業務邏輯的對象。
- AO(Application Object):應用對象,在Web層與Service層之間抽象的複用對象模型,極為貼近展示層,複用度很低。
- VO(View Object):顯示層對象,通常是Web向模板渲染引擎層傳輸的對象。
- Query:數據查詢對象,各層接收上層的查詢請求,超過2個參數的查詢封裝,禁止使用Map類傳輸。
領域模型類名命名規約
- 數據對象:xxxxDO,xxxx為數據表名。
- 數據傳輸對象:xxxxDTO,xxxx為業務領域相關的名稱。
- 展示對象:xxxxVO,xxxx一般為網頁名稱。
POJO 是DO/DTO/BO/VO的統稱,禁止命名成 xxxxPOJO。
Service/DAO層的方法命名規約
- 插入的方法命名使用 insert或save 做前綴。
- 刪除的方法命名使用 delete或remove 做前綴。
- 修改的方法命名使用 update 做前綴。
- 獲取單個對象的方法命名使用 get 做前綴。
- 獲取多個對象的方法命名使用 list 做前綴,複數結尾。
- 獲取統計值的方法命名使用 count 做前綴。