真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和項(xiàng)目實(shí)例圖是什么

本篇文章給大家分享的是有關(guān)Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和項(xiàng)目實(shí)例圖是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

綏中網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,綏中網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為綏中上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的綏中做網(wǎng)站的公司定做!

PO(bean、entity等命名):

Persistant Object持久對(duì)象,數(shù)據(jù)庫表中的記錄在java對(duì)象中的顯示狀態(tài)

最形象的理解就是一個(gè)PO就是數(shù)據(jù)庫中的一條記錄。

好處是可以把一條記錄作為一個(gè)對(duì)象處理,可以方便的轉(zhuǎn)為其它對(duì)象。 

BO(service、manager、business等命名):

Business Object業(yè)務(wù)對(duì)象

主要作用是把業(yè)務(wù)邏輯封裝為一個(gè)對(duì)象。這個(gè)對(duì)象可以包括一個(gè)或多個(gè)其它的對(duì)象。

形象描述為一個(gè)對(duì)象的形為和動(dòng)作,當(dāng)然也有涉及到基它對(duì)象的一些形為和動(dòng)作。比如處理

一個(gè)人的業(yè)務(wù)邏輯,有睡覺,吃飯,工作,上班等等形為還有可能和別人發(fā)關(guān)系的形為。

這樣處理業(yè)務(wù)邏輯時(shí),我們就可以針對(duì)BO去處理。

VO(from也有此寫法) :

Value Object值對(duì)象

主要體現(xiàn)在視圖的對(duì)象,對(duì)于一個(gè)WEB頁面將整個(gè)頁面的屬性封裝成一個(gè)對(duì)象。然后用一個(gè)VO對(duì)象在控制層與視圖層進(jìn)行傳輸交換。

DTO (經(jīng)過處理后的PO,可能增加或者減少PO的屬性):

Data Transfer Object數(shù)據(jù)傳輸對(duì)象

主要用于遠(yuǎn)程調(diào)用等需要大量傳輸對(duì)象的地方。

比如我們一張表有100個(gè)字段,那么對(duì)應(yīng)的PO就有100個(gè)屬性。

但是我們界面上只要顯示10個(gè)字段,

客戶端用WEB service來獲取數(shù)據(jù),沒有必要把整個(gè)PO對(duì)象傳遞到客戶端,

這時(shí)我們就可以用只有這10個(gè)屬性的DTO來傳遞結(jié)果到客戶端,這樣也不會(huì)暴露服務(wù)端表結(jié)構(gòu).到達(dá)客戶端以后,如果用這個(gè)對(duì)象來對(duì)應(yīng)界面顯示,那此時(shí)它的身份就轉(zhuǎn)為VO 

POJO(POJO是一種概念或者接口,身份及作用隨環(huán)境變化而變化) :

POJO有一些Private的參數(shù)作為對(duì)象的屬性。然后針對(duì)每個(gè)參數(shù)定義了get和set方法作為訪問的接口

Plain Ordinary Java Object簡(jiǎn)單Java對(duì)象

即POJO是一個(gè)簡(jiǎn)單的普通的Java對(duì)象,它不包含業(yè)務(wù)邏輯或持久邏輯等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不繼承或不實(shí)現(xiàn)任何其它Java框架的類或接口。

POJO對(duì)象有時(shí)也被稱為Data對(duì)象,大量應(yīng)用于表現(xiàn)現(xiàn)實(shí)中的對(duì)象。 

一個(gè)POJO持久化以后就是PO。

直接用它傳遞、傳遞過程中就是DTO

直接用來對(duì)應(yīng)表示層就是VO 

Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和項(xiàng)目實(shí)例圖是什么

DAO(Data Access Object數(shù)據(jù)訪問對(duì)象):

這個(gè)大家最熟悉,和上面幾個(gè)O區(qū)別最大,基本沒有互相轉(zhuǎn)化的可能性和必要.

主要用來封裝對(duì)數(shù)據(jù)庫的訪問。通過它可以把POJO持久化為PO,用PO組裝出來VO、DTO

Controller控制層主要是Action/Servlet等構(gòu)成(目前Spring MVC則是通過@Controller標(biāo)簽使用)

此層業(yè)務(wù)層與視圖層打交道的中間層,負(fù)責(zé)傳輸VO對(duì)象和調(diào)用BO層的業(yè)務(wù)方法,負(fù)責(zé)視圖層請(qǐng)求的數(shù)據(jù)處理后響應(yīng)給視圖層。

View(視圖層)

主要是指由JSP、HTML等文件形成的顯示層。

總結(jié)一下要用具體的X0需要看具體環(huán)境及項(xiàng)目架構(gòu),在不同的層、不同的應(yīng)用場(chǎng)合,對(duì)象的身份也不一樣,而且對(duì)象身份的轉(zhuǎn)化也是很自然的。就像你對(duì)老婆來說就是老公,對(duì)父母來說就是子女。設(shè)計(jì)這些概念的初衷不是為了唬人而是為了更好的理解和處理各種邏輯,讓大家能更好的去用面向?qū)ο蟮姆绞教幚韱栴}。

在平時(shí)開發(fā)項(xiàng)目中大家千萬過度設(shè)計(jì)各層,因?yàn)檫@樣會(huì)帶來大量的工作和重復(fù)工作。如果不是大型系統(tǒng)可簡(jiǎn)化一些層,因?yàn)榧夹g(shù)是為應(yīng)用服務(wù)的。

上述名詞在實(shí)際項(xiàng)目的應(yīng)用舉例:

控制層(controller-action),業(yè)務(wù)層/服務(wù)層( bo-manager ),實(shí)體層(po-entity),dao(dao),視圖對(duì)象(Vo-本項(xiàng)目省略),視圖層(view-jsp/html)

以上就是Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和項(xiàng)目實(shí)例圖是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文標(biāo)題:Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和項(xiàng)目實(shí)例圖是什么
轉(zhuǎn)載注明:http://weahome.cn/article/jscjid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部