1. 程式人生 > >BO,PO,DO,DTO等區別

BO,PO,DO,DTO等區別

由於專案要求VO,BO等互相轉型,但是查了很多都是瞎說一同,最近看了一下阿里巴巴Java開發手冊,感覺還是阿里的老哥們說的明白,這裡分享一下。

應用分層

這裡首先了解一下應用分層在這裡插入圖片描述 這裡可以看到是我們大部分mvc架構的分層情況,多了Manager層,關於Manager層如下. Manager層:通用業務處理層,它有如下特徵: 1)對第三方平臺封裝的層,預處理返回結果及轉化異常資訊; 2)對Service層通用能力的下沉,如快取方案、中介軟體通用處理; 3)與DAO層互動,對多個DAO的組合複用。

分層領域模型規約 DO(DataObject):此物件與資料庫表結構一一對應,通過DAO層向上傳輸資料來源物件。 DTO(Data Transfer Object):資料傳輸物件,Service或Manager向外傳輸的物件。 BO(Business Object):業務物件,由Service層輸出的封裝業務邏輯的物件。 AO(ApplicationObject):應用物件,在Web層與Service層之間抽象的複用物件模型, 極為貼近展示層,複用度不高。 VO(View Object):顯示層物件,通常是Web向模板渲染引擎層傳輸的物件。 Query:資料查詢物件,各層接收上層的查詢請求。注意超過2個引數的查詢封裝,禁止 使用Map類來傳輸。 POJO:POJO專指只有setter / getter / toString的簡單類,包括DO/DTO/BO/VO等。

參考 : 阿里巴巴Java開發手冊