理解Entity, Bo, Vo, Dto等

搬運自https://www.toutiao.com/i6690745946910753293/

Java開發(fā)過程中捕传,基本實體類包都以entity或者model來稱呼沉帮,可是不少項目中垂蜗,卻以Bo、Vo來命名,面試的時候废岂,也有可能被問到這些問題。那么狱意,這幾者分別代表什么意思呢湖苞?

Entity

最常用實體類,基本和數(shù)據(jù)表一一對應(yīng)髓涯,一個實體一張表袒啼。

Bo(business object)

代表業(yè)務(wù)對象的意思,Bo就是把業(yè)務(wù)邏輯封裝為一個對象(注意是邏輯纬纪,業(yè)務(wù)邏輯)蚓再,這個對象可以包括一個或多個其它的對象。通過調(diào)用Dao方法包各,結(jié)合Po或Vo進行業(yè)務(wù)操作摘仅。

形象描述為一個對象的形為和動作,當然也有涉及到基它對象的一些形為和動作问畅。比如處理一個人的業(yè)務(wù)邏輯娃属,該人會睡覺六荒,吃飯,工作矾端,上班等等行為掏击,還有可能和別人發(fā)關(guān)系的行為,處理這樣的業(yè)務(wù)邏輯時秩铆,我們就可以針對BO去處理砚亭。

再比如投保人是一個Po,被保險人是一個Po殴玛,險種信息也是一個Po等等捅膘,他們組合起來就是一張保單的Bo。

Vo(value object)

代表值對象的意思滚粟,通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞寻仗,由new創(chuàng)建,由GC回收凡壤。

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

entity沐寺、bo、vo盖奈、po混坞、dto、pojo如何理解和區(qū)分钢坦?

Po(persistant object)

代表持久層對象的意思究孕,對應(yīng)數(shù)據(jù)庫中表的字段,數(shù)據(jù)庫表中的記錄在java對象中的顯示狀態(tài)爹凹,最形象的理解就是一個PO就是數(shù)據(jù)庫中的一條記錄厨诸。

好處是可以把一條記錄作為一個對象處理,可以方便的轉(zhuǎn)為其它對象禾酱。Vo和Po微酬,都是屬性加上屬性的get和set方法;表面看沒什么不同颤陶,但代表的含義是完全不同的颗管。

Dto(data transfer object)

代表數(shù)據(jù)傳輸對象的意思

是一種設(shè)計模式之間傳輸數(shù)據(jù)的軟件應(yīng)用系統(tǒng),數(shù)據(jù)傳輸目標往往是數(shù)據(jù)訪問對象從數(shù)據(jù)庫中檢索數(shù)據(jù)

數(shù)據(jù)傳輸對象與數(shù)據(jù)交互對象或數(shù)據(jù)訪問對象之間的差異是一個以不具任何行為除了存儲和檢索的數(shù)據(jù)(訪問和存取器)

簡而言之滓走,就是接口之間傳遞的數(shù)據(jù)封裝

表里面有十幾個字段:id垦江,name,gender(M/F)搅方,age……

頁面需要展示三個字段:name比吭,gender(男/女)绽族,age

DTO由此產(chǎn)生,一是能提高數(shù)據(jù)傳輸?shù)乃俣?減少了傳輸字段)衩藤,二能隱藏后端表結(jié)構(gòu)

Pojo(plian ordinary java object)

代表簡單無規(guī)則java對象

純的傳統(tǒng)意義的java對象吧慢,最基本的Java Bean只有屬性加上屬性的get和set方法

可以額轉(zhuǎn)化為PO、DTO慷彤、VO娄蔼;比如POJO在傳輸過程中就是DTO

Dao(data access object)

代表數(shù)據(jù)訪問對象的意思,是sun的一個標準j2ee設(shè)計模式的接口之一底哗,負責持久層的操作 。這個基本都了解锚沸,Dao和上面幾個O區(qū)別最大跋选,基本沒有互相轉(zhuǎn)化的可能性和必要,主要用來封裝對數(shù)據(jù)的訪問哗蜈,注意前标,是對數(shù)據(jù)的訪問,不是對數(shù)據(jù)庫的訪問距潘。

Controller

代表控制層炼列,主要是Action/Servlet等構(gòu)成(Spring MVC則是通過@Controller標簽使用)此層業(yè)務(wù)層與視圖層打交道的中間層,負責傳輸VO對象和調(diào)用BO層的業(yè)務(wù)方法音比,負責視圖層請求的數(shù)據(jù)處理后響應(yīng)給視圖層俭尖。

View

代表視圖層的意思,主要是指由JSP洞翩、HTML等文件形成的顯示層稽犁。

所以實際項目中,一般都是這樣應(yīng)用的:

控制層(controller-action)骚亿,業(yè)務(wù)層/服務(wù)層( bo-manager-service)已亥,實體層(po-entity),dao(dao)来屠,視圖對象(Vo-)虑椎,視圖層(view-jsp/html)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市俱笛,隨后出現(xiàn)的幾起案子捆姜,更是在濱河造成了極大的恐慌,老刑警劉巖嫂粟,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娇未,死亡現(xiàn)場離奇詭異,居然都是意外死亡星虹,警方通過查閱死者的電腦和手機零抬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門镊讼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人平夜,你說我怎么就攤上這事蝶棋。” “怎么了忽妒?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵玩裙,是天一觀的道長。 經(jīng)常有香客問我段直,道長吃溅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任鸯檬,我火速辦了婚禮决侈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘喧务。我一直安慰自己赖歌,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布功茴。 她就那樣靜靜地躺著庐冯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坎穿。 梳的紋絲不亂的頭發(fā)上展父,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音赁酝,去河邊找鬼犯祠。 笑死,一個胖子當著我的面吹牛酌呆,可吹牛的內(nèi)容都是我干的衡载。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隙袁,長吁一口氣:“原來是場噩夢啊……” “哼痰娱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起菩收,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤梨睁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后娜饵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坡贺,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了遍坟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拳亿。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖愿伴,靈堂內(nèi)的尸體忽然破棺而出肺魁,到底是詐尸還是另有隱情,我是刑警寧澤隔节,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布鹅经,位于F島的核電站,受9級特大地震影響怎诫,放射性物質(zhì)發(fā)生泄漏瘾晃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一幻妓、第九天 我趴在偏房一處隱蔽的房頂上張望酗捌。 院中可真熱鬧,春花似錦涌哲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至狗唉,卻和暖如春初烘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背分俯。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工肾筐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缸剪。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓吗铐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杏节。 傳聞我的和親對象是個殘疾皇子唬渗,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容