java一些對象概念掃盲帖(DO VO DTO PO)


資料來源:http://virusswb.blog.51cto.com/115214/458636  

BO:Business Object,業務對象。主要是承載業務數據的實體。處理業務邏輯的時候使用,數據結構也是針對業務邏輯建立的。

PO:persistence Object,持久化對象。數據最終要存儲,無論以何種形式存儲,都必須要持久化。加入使用關系數據庫存儲,一個PO對應一條數據庫的記錄,或者是對象從數據庫查詢出來的結果集的一條記錄。

DAO:Data Access Object,數據訪問對象。包含一些數據庫的基本操作,CRUD,和數據庫打交道。負責將PO持久化到數據庫,也負責將從數據庫查詢的結果集映射為PO。

DTO:Data Transfer Object,數據傳輸對象。一般用來在前段和后台的數據傳輸,數據結構的簡歷是基於網絡傳輸的,減少傳輸的數據量,避免傳輸過多無用的數據。

VO:Value Object,值對象。主要用在前段數據和控件的綁定操作中,以鍵值對的形式存在。可以從DTO轉化而來,這么做的好處就是減少對於DTO的依賴,進一步減少對應后端的依賴。還可以增加前段的可測試性,也就是沒有DTO,也可以對前段邏輯進行自動化的單元測試,可以通過MockDTO來達到測試的目的。

POJO(Plain Old Java Object)簡單的Java對象,實際就是普通JavaBeans。其中有一些屬性及其getter setter方法的類,沒有業務邏輯,有時可以作為VO(value -object)或dto(Data Transform Object)來使用.當然,如果你有一個簡單的運算屬性也是可以的,但不允許有業務方法,也不能攜帶有connection之類的方法。

 

 

通過上面的這幅圖來表達web,winform,silverlight,console代表不同的前端類型。Domain代表領域對象,也可以是BLL。

 

轉自:http://blog.csdn.net/mutou_user/article/details/37519513


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM