首先這些對象都應用都是一些單詞的簡稱,也是一種應用思想,故其他語言也可以使用,在?Java??里比較常見這些對象吧。下面來一一解釋。
一、POJO(Plain Ordinary Java Object)。
簡單而言,就是一個簡單的對象,而且沒有任何規則約束。有的時候拿?POJO??來泛指用來做傳輸對象?Java bean
?(包括今天要介紹的?DTO??、?VO??、?BO??、?PO??等)也是可以的。
二、DTO(Data?Transfer?Object)
數據傳輸對象,單純用來數據傳輸的對象。我們有的項目又分InDto
?和OutDto
?,顧名思義就是輸入和輸出的Dto??。
三、PO(Persistant Object)
持久對象,可以看成是與數據庫中的表相映射的?Java??對象。最簡單的?PO??就是對應數據庫中某個表中的一條記錄,多個記錄可以用?PO??的集合。?PO??不包含業務邏輯和數據邏輯。就是一個Entity
?或者說?ModelEntity
?。
四、BO(Business?Object)
業務對象,我經常使用的一個,它是和業務掛鉤的,簡單來說,我們每個業務可能需要很多?PO??(數據庫表)來組成,而我們返回前端頁面或者返回給調用方的時候,我們需要組合。而這個時候,?BO??就派上用場了,它就是一個對?PO??的組合,也可以就是?PO??,只是出發點是滿足業務的傳輸對象。
五、VO(Value Object)
值對象,其實和?BO??、?DTO??、?PO??差不多,只是更形象化了,?VO??更簡單,沒有任何思想,就是一個傳輸對象。
六、DAO(Data?Access?Object)
數據訪問對象,通常是和數據層打交道的最后一層,通過?DAO??對數據庫做識別操作,最終返回我們想要的數據。通常和我們的?PO??、?BO??等基礎類型,如List
?、Map
?等結合使用