阿里巴巴Java開發手冊中的DO、DTO、BO、AO、VO、POJO定義
分層領域模型規約:
- DO( Data Object):與數據庫表結構一一對應,通過DAO層向上傳輸數據源對象。
- DTO( Data Transfer Object):數據傳輸對象,Service或Manager向外傳輸的對象。
- BO( Business Object):業務對象。 由Service層輸出的封裝業務邏輯的對象。
- AO( Application Object):應用對象。 在Web層與Service層之間抽象的復用對象模型,極為貼近展示層,復用度不高。
- VO( View Object):顯示層對象,通常是Web向模板渲染引擎層傳輸的對象。
- POJO( Plain Ordinary Java Object):在本手冊中, POJO專指只有setter/getter/toString的簡單類,包括DO/DTO/BO/VO等。
- Query:數據查詢對象,各層接收上層的查詢請求。 注意超過2個參數的查詢封裝,禁止使用Map類來傳輸。
領域模型命名規約:
- 數據對象:xxxDO,xxx即為數據表名。
- 數據傳輸對象:xxxDTO,xxx為業務領域相關的名稱。
- 展示對象:xxxVO,xxx一般為網頁名稱。
- POJO是DO/DTO/BO/VO的統稱,禁止命名成xxxPOJO。
DO和VO的區別:DO是和數據庫中表相關聯的類,而VO中我們寫的字段都是前台所需要的,而不是對象的所有字段值,需要中文就顯示中文;
DO和VO之間的轉換:
- 博主使用的是Spring提供的BeanUtils.copyProperties來做轉換.