1. Service / DAO 層方法命名規約
方法功能 | 前綴 | 說明 |
---|---|---|
獲取單個對象的方法 | get | getObject |
獲取多個對象的方法 | list | 複數形式結尾 listObjects |
獲取統計值的方法 | count | |
插入的方法 | save / insert | |
刪除的方法 | remove / delete | |
修改的方法 | update |
2. 分層領域模型規約
名詞 | 全拼 | 全稱 | 說明 | 示例 |
---|---|---|---|---|
DO | Data Object | 數據對象 | 此對象與數據庫表結構一一對應,通過 DAO 層向上傳輸數據源對象。 | xxDO,xx 即數據表名 |
DTO | Data Transfer Object | 數據傳輸對象 | 數據傳輸對象,Service 或 Manager 向外傳輸的對象。 | XXXDTO,xxx 爲業務領域相關的名稱 |
BO | Business Object | 業務對象,由 Service 層輸出的封裝業務邏輯的對象。 | ||
AO | Application Object | 應用對象,在 Web 層與 Service 層之間抽象的複用對象模型,極爲貼近展示層,複用度不高 | ||
VO | View Object | 顯示層對象( 展示對象) | 通常是 Web 向模板渲染引擎層傳輸的對象。 | xxxVO, xxx 一般爲網頁名稱。 |
Query | 數據查詢對象 | 各層接收上層的查詢請求。注意超過 2 個參數的查詢封裝,禁止使用 Map 類來傳輸。 | ||
POJO | Plain Ordinary Java Object | 是 DO / DTO / BO / VO/ 的統稱 | 禁止命名成 xxxPOJO |
3. 建設領域模型注意事項
- 定義 DO / DTO / VO 等 POJO 類時,不要設定任何屬性的默認值。
- 序列化類新增屬性時,不要修改 serialVersionUID 字段,避免反序列化失敗。
- 構造方法裏面禁止加入任何業務邏輯,如果有初始化邏輯,請放在 init 方法中。
- POJO 類必須寫 toString 方法。如果繼承了另一個 POJO 類,注意前面加一下 super.toString。 (說明:在方法執行拋出異常時,可以直接調用 POJO 的 toString()方法打印其屬性值,便於排查問題。)
更多的名詞解釋請戳:軟件開發過程中遇到的各種名詞解釋
GitHub地址: alibaba/p3c - GitHub