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

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

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

2019-11-09 19:12:55
字體:
供稿:網(wǎng)友

PO :persistent object持久對(duì)象 

1 .有時(shí)也被稱為Data對(duì)象,對(duì)應(yīng)數(shù)據(jù)庫(kù)中的entity,可以簡(jiǎn)單認(rèn)為一個(gè)PO對(duì)應(yīng)數(shù)據(jù)庫(kù)中的一條記錄。 2 .在hibernate持久化框架中與insert/delet操作密切相關(guān)。 3 .PO中不應(yīng)該包含任何對(duì)數(shù)據(jù)庫(kù)的操作。 --------------------------------------------------------- POJO :plain ordinary java object 無規(guī)則簡(jiǎn)單java對(duì)象 一個(gè)中間對(duì)象,可以轉(zhuǎn)化為PO、DTO、VO。 1 .POJO持久化之后==〉PO (在運(yùn)行期,由Hibernate中的cglib動(dòng)態(tài)把POJO轉(zhuǎn)換為PO,PO相對(duì)于POJO會(huì)增加一些用來管理數(shù)據(jù)庫(kù)entity狀態(tài)的屬性和方法。PO對(duì)于PRogrammer來說完全透明,由于是運(yùn)行期生成PO,所以可以支持增量編譯,增量調(diào)試。) 2 .POJO傳輸過程中==〉DTO 3 .POJO用作表示層==〉VO PO 和VO都應(yīng)該屬于它。 ---------------------------------------------------------- BO :business object 業(yè)務(wù)對(duì)象 封裝業(yè)務(wù)邏輯為一個(gè)對(duì)象(可以包括多個(gè)PO,通常需要將BO轉(zhuǎn)化成PO,才能進(jìn)行數(shù)據(jù)的持久化,反之,從DB中得到的PO,需要轉(zhuǎn)化成BO才能在業(yè)務(wù)層使用)。 關(guān)于BO主要有三種概念 1 、只包含業(yè)務(wù)對(duì)象的屬性; 2 、只包含業(yè)務(wù)方法; 3 、兩者都包含。 在實(shí)際使用中,認(rèn)為哪一種概念正確并不重要,關(guān)鍵是實(shí)際應(yīng)用中適合自己項(xiàng)目的需要。 ---------------------------------------------------------- VO :value object值對(duì)象 / view object表現(xiàn)層對(duì)象 1 .主要對(duì)應(yīng)頁(yè)面顯示(web頁(yè)面/swt、swing界面)的數(shù)據(jù)對(duì)象。 2 .可以和表對(duì)應(yīng),也可以不,這根據(jù)業(yè)務(wù)的需要。 注 :在struts中,用ActionForm做VO,需要做一個(gè)轉(zhuǎn)換,因?yàn)镻O是面向?qū)ο蟮模鳤ctionForm是和view對(duì)應(yīng)的,要將幾個(gè)PO要顯示的屬性合成一個(gè)ActionForm,可以使用BeanUtils的copy方法。 ---------------------------------------------------------- DTO (TO) :Data Transfer Object數(shù)據(jù)傳輸對(duì)象 1 .用在需要跨進(jìn)程或遠(yuǎn)程傳輸時(shí),它不應(yīng)該包含業(yè)務(wù)邏輯。 2 .比如一張表有100個(gè)字段,那么對(duì)應(yīng)的PO就有100個(gè)屬性(大多數(shù)情況下,DTO 內(nèi)的數(shù)據(jù)來自多個(gè)表)。但view層只需顯示10個(gè)字段,沒有必要把整個(gè)PO對(duì)象傳遞到client,這時(shí)我們就可以用只有這10個(gè)屬性的DTO來傳輸數(shù)據(jù)到client,這樣也不會(huì)暴露server端表結(jié)構(gòu)。到達(dá)客戶端以后,如果用這個(gè)對(duì)象來對(duì)應(yīng)界面顯示,那此時(shí)它的身份就轉(zhuǎn)為VO。 ---------------------------------------------------------- DAO :data access object數(shù)據(jù)訪問對(duì)象 1 .主要用來封裝對(duì)DB的訪問(CRUD操作)。 2 .通過接收Business層的數(shù)據(jù),把POJO持久化為PO。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 道真| 阜城县| 闵行区| 综艺| 沾化县| 寻乌县| 赣州市| 句容市| 开阳县| 杨浦区| 安陆市| 襄汾县| 紫云| 建始县| 乐至县| 凌云县| 正安县| 沁源县| 当雄县| 云霄县| 高台县| 永安市| 手游| 开封县| 仲巴县| 汉源县| 南和县| 盖州市| 天峨县| 安顺市| 耿马| 格尔木市| 宣化县| 临桂县| 苍山县| 房产| 肃南| 离岛区| 鸡泽县| 铁岭县| 元氏县|