<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          PO、VO、DAO、BO、DTO、POJO能分清嗎?

          共 1436字,需瀏覽 3分鐘

           ·

          2020-11-25 16:20

          本文鏈接:

          https://blog.csdn.net/chl191623691/article/details/78149108



          一、PO :(persistant object ),持久對象

          可以看成是與數(shù)據(jù)庫中的表相映射的java對象。使用Hibernate來生成PO是不錯的選擇。

          二、VO :(value object) ,值對象

          通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞,和PO一樣也是僅僅包含數(shù)據(jù)而已。但應(yīng)是抽象出的業(yè)務(wù)對象,可以和表對應(yīng),也可以不,這根據(jù)業(yè)務(wù)的需要.

          PO只能用在數(shù)據(jù)層,VO用在商業(yè)邏輯層和表示層。各層操作屬于該層自己的數(shù)據(jù)對象,這樣就可以降低各層之間的耦合,便于以后系統(tǒng)的維護(hù)和擴(kuò)展。

          三、DAO :(Data Access Objects) ,數(shù)據(jù)訪問對象接口

          DAO是Data Access Object數(shù)據(jù)訪問接口,數(shù)據(jù)訪問:顧名思義就是與數(shù)據(jù)庫打交道。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間。

          J2EE開發(fā)人員使用數(shù)據(jù)訪問對象(DAO)設(shè)計模式把底層的數(shù)據(jù)訪問邏輯和高層的商務(wù)邏輯分開.實現(xiàn)DAO模式能夠更加專注于編寫數(shù)據(jù)訪問代碼.

          DAO模式是標(biāo)準(zhǔn)的J2EE設(shè)計模式之一.開發(fā)人員使用這個模式把底層的數(shù)據(jù)訪問操作和上層的商務(wù)邏輯分開.一個典型的DAO實現(xiàn)有下列幾個組件:

          1. 一個DAO工廠類;

          2. 一個DAO接口;

          3. 一個實現(xiàn)DAO接口的具體類;

          4. 數(shù)據(jù)傳遞對象(有些時候叫做值對象).

          具體的DAO類包含了從特定的數(shù)據(jù)源訪問數(shù)據(jù)的邏輯。

          四、BO :(Business Object),業(yè)務(wù)對象層

          表示應(yīng)用程序領(lǐng)域內(nèi)“事物”的所有實體類。這些實體類駐留在服務(wù)器上,并利用服務(wù)類來協(xié)助完成它們的職責(zé)。

          五、DTO Data Transfer Object數(shù)據(jù)傳輸對象

          主要用于遠(yuǎn)程調(diào)用等需要大量傳輸對象的地方。比如我們一張表有100個字段,那么對應(yīng)的PO就有100個屬性。但是我們界面上只要顯示10個字段,客戶端用WEB service來獲取數(shù)據(jù),沒有必要把整個PO對象傳遞到客戶端,這時我們就可以用只有這10個屬性的DTO來傳遞結(jié)果到客戶端,這樣也不會暴露服務(wù)端表結(jié)構(gòu).到達(dá)客戶端以后,如果用這個對象來對應(yīng)界面顯示,那此時它的身份就轉(zhuǎn)為VO

          六、POJO :(Plain Old Java Objects),簡單的Java對象

          實際就是普通JavaBeans,使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接.其中有一些屬性及其getter、setter方法的類,有時可以作為value object或dto(Data Transform Object)來使用.當(dāng)然,如果你有一個簡單的運算屬性也是可以的,但不允許有業(yè)務(wù)方法,也不能攜帶有connection之類的方法


          長按關(guān)注,學(xué)習(xí)更多

          推薦閱讀


          瀏覽 13
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日逼免费观看视频 | 逼特逼性视频网站 | 欧美午夜在线观看 | 国产一級A片免费看 | 大香蕉伊人免费在线视频 |