VO
value object:值對象
通常用於業務層之間的數據傳遞,由new創建,由GC回收。
PO
persistant object:持久層對象
對應數據庫中表的字段。
VO和PO,都是屬性加上屬性的get和set方法;表面看沒什么不同,但代表的含義是完全不同的。
DTO
data transfer object:數據傳輸對象。
表里面有十幾個字段:id,name,gender(M/F),age,conmpanyId(如001)...
頁面需要展示四個字段:name,gender(男/女),age,conmpanyName(如今日頭條股份有限公司)。
DTO由此產生,一是能提高數據傳輸的速度(減少了傳輸字段),二能隱藏后端表結構。

BO
business object:業務對象
BO把業務邏輯封裝為一個對象。
我理解是PO的組合,比如投保人是一個PO,被保險人是一個PO,險種信息是一個PO等等,他們組合起來是第一張保單的BO。
POJO
plain ordinary java object:簡單無規則java對象
純的傳統意義的java對象,最基本的Java Bean只有屬性加上屬性的get和set方法。
可以轉化為PO、DTO、VO;比如POJO在傳輸過程中就是DTO。

DAO
data access object:數據訪問對象
主要用來封裝對數據的訪問,注意,是對數據的訪問,不是對數據庫的訪問。

轉自:https://www.wukong.com/answer/6535030067171442948/?iid=28069560333&app=news_article&share_ansid=6535030067171442948&wxshare_count=1&tt_from=weixin&utm_source=weixin&utm_medium=toutiao_android&utm_campaign=client_share
