国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

對多種對象的簡單解析:PO/VO/DTO/DAO的區(qū)別(轉(zhuǎn))

2019-11-10 17:19:57
字體:
供稿:網(wǎng)友

PO :persistent object持久對象 

1 .有時也被稱為Data對象,對應(yīng)數(shù)據(jù)庫中的entity,可以簡單認(rèn)為一個PO對應(yīng)數(shù)據(jù)庫中的一條記錄。 2 .在hibernate持久化框架中與insert/delet操作密切相關(guān)。 3 .PO中不應(yīng)該包含任何對數(shù)據(jù)庫的操作。 --------------------------------------------------------- POJO :plain ordinary java object 無規(guī)則簡單java對象 一個中間對象,可以轉(zhuǎn)化為PO、DTO、VO。 1 .POJO持久化之后==〉PO (在運(yùn)行期,由Hibernate中的cglib動態(tài)把POJO轉(zhuǎn)換為PO,PO相對于POJO會增加一些用來管理數(shù)據(jù)庫entity狀態(tài)的屬性和方法。PO對于PRogrammer來說完全透明,由于是運(yùn)行期生成PO,所以可以支持增量編譯,增量調(diào)試。) 2 .POJO傳輸過程中==〉DTO 3 .POJO用作表示層==〉VO PO 和VO都應(yīng)該屬于它。 ---------------------------------------------------------- BO :business object 業(yè)務(wù)對象 封裝業(yè)務(wù)邏輯為一個對象(可以包括多個PO,通常需要將BO轉(zhuǎn)化成PO,才能進(jìn)行數(shù)據(jù)的持久化,反之,從DB中得到的PO,需要轉(zhuǎn)化成BO才能在業(yè)務(wù)層使用)。 關(guān)于BO主要有三種概念 1 、只包含業(yè)務(wù)對象的屬性; 2 、只包含業(yè)務(wù)方法; 3 、兩者都包含。 在實際使用中,認(rèn)為哪一種概念正確并不重要,關(guān)鍵是實際應(yīng)用中適合自己項目的需要。 ---------------------------------------------------------- VO :value object值對象 / view object表現(xiàn)層對象 1 .主要對應(yīng)頁面顯示(web頁面/swt、swing界面)的數(shù)據(jù)對象。 2 .可以和表對應(yīng),也可以不,這根據(jù)業(yè)務(wù)的需要。 注 :在struts中,用ActionForm做VO,需要做一個轉(zhuǎn)換,因為PO是面向?qū)ο蟮模鳤ctionForm是和view對應(yīng)的,要將幾個PO要顯示的屬性合成一個ActionForm,可以使用BeanUtils的copy方法。 ---------------------------------------------------------- DTO (TO) :Data Transfer Object數(shù)據(jù)傳輸對象 1 .用在需要跨進(jìn)程或遠(yuǎn)程傳輸時,它不應(yīng)該包含業(yè)務(wù)邏輯。 2 .比如一張表有100個字段,那么對應(yīng)的PO就有100個屬性(大多數(shù)情況下,DTO 內(nèi)的數(shù)據(jù)來自多個表)。但view層只需顯示10個字段,沒有必要把整個PO對象傳遞到client,這時我們就可以用只有這10個屬性的DTO來傳輸數(shù)據(jù)到client,這樣也不會暴露server端表結(jié)構(gòu)。到達(dá)客戶端以后,如果用這個對象來對應(yīng)界面顯示,那此時它的身份就轉(zhuǎn)為VO。 ---------------------------------------------------------- DAO :data access object數(shù)據(jù)訪問對象 1 .主要用來封裝對DB的訪問(CRUD操作)。 2 .通過接收Business層的數(shù)據(jù),把POJO持久化為PO。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 社旗县| 靖边县| 石台县| 崇阳县| 定襄县| 罗山县| 大埔区| 万全县| 凭祥市| 南昌市| 碌曲县| 汝南县| 铜鼓县| 牡丹江市| 孝昌县| 水城县| 隆回县| 安宁市| 五常市| 临洮县| 米易县| 兖州市| 隆林| 左权县| 榕江县| 宜兰市| 南召县| 额济纳旗| 定兴县| 隆子县| 隆林| 长寿区| 鲜城| 莲花县| 广宗县| 张掖市| 南漳县| 芷江| 石台县| 江油市| 时尚|