今天,咱來各種 OOOOOOOOOOOO!
border-left: 3px solid rgb(0, 150, 136); box-sizing: border-box !important; overflow-wrap: break-word !important;">VO
value object:值對象。
通常用于業(yè)務層之間的數(shù)據(jù)傳遞,由new創(chuàng)建,由GC回收。
PO
persistant object:持久層對象。
對應數(shù)據(jù)庫中表的字段。VO 和 PO 都是屬性加上屬性的 get 和 set 方法;表面看沒什么不同,但代表的含義是完全不同的。
DTO
data transfer object:數(shù)據(jù)傳輸對象。
表里面有十幾個字段:id,name,gender(M/F),age,conmpanyId(如001)...
頁面需要展示四個字段:name,gender(男/女),age,conmpanyName(如今日頭條股份有限公司)。
DTO由此產(chǎn)生,一是能提高數(shù)據(jù)傳輸?shù)乃俣龋p少了傳輸字段),二能隱藏后端表結構。
BO
business object:業(yè)務對象。
BO 把業(yè)務邏輯封裝為一個對象。我理解是 PO 的組合,比如投保人是一個 PO,被保險人是一個 PO,險種信息是一個 PO 等等,他們組合起來是第一張保單的 BO。
POJO
plain ordinary java object:簡單無規(guī)則 java 對象。
純的傳統(tǒng)意義的 java 對象,最基本的 Java Bean 只有屬性加上屬性的 get 和 set 方法??梢赞D(zhuǎn)化為 PO、DTO、VO;比如 POJO 在傳輸過程中就是 DTO。
DAO
data access object:數(shù)據(jù)訪問對象。
主要用來封裝對數(shù)據(jù)的訪問,注意,是對數(shù)據(jù)的訪問,不是對數(shù)據(jù)庫的訪問。