今天,咱來各種 OOOOOOOOOOOO!
border-left: 3px solid rgb(0, 150, 136); box-sizing: border-box !important; overflow-wrap: break-word !important;">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:數據訪問對象。
主要用來封裝對數據的訪問,注意,是對數據的訪問,不是對數據庫的訪問。