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

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

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

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.net

相關文章
相關標籤/搜索