日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

领域模型命名规约【PO,VO,POJO,BO,DTO,DO,JavaBean】

發布時間:2024/2/28 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 领域模型命名规约【PO,VO,POJO,BO,DTO,DO,JavaBean】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PO,VO,POJO,BO,DTO,DO,JavaBean

在這之前我先說一下,在阿里巴巴開發手冊中有提到這種領域模型命名規約,即如下圖:

下面是更加詳細的介紹:

po

PO(Persistant Object)可以看成是與數據庫中的表相映射的java對象。最簡單的PO就是對應數據庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中應該不包含任何對數據庫的操作。
好處就是可以把一條記錄作為一個對象處理,可以方便的轉為其他對象。

vo

VO值對象,通常用于業務層之間的數據傳遞,與PO一樣僅包含數據,根據業務的需要與抽象出的業務對象實現對應或者非對應。
VO主要對應界面顯示的數據對象。對于一個WEB頁面,或者SWT/SWING的一個界面,用一個VO對象對應整個界面的值。

pojo

POJO(Plain Ordinary Java Object簡單無規則java對象)是純粹的傳統意義的java對象。就是說在一些Object/Relation Mapping工具中,能夠做到維護數據庫表記錄的persisent object完全是一個符合Java Bean規范的純Java對象,沒有增加別的屬性和方法,即,最基本的Java Bean,只有屬性字段及setter和getter方法!

  • 一個POJO持久化以后就是PO;
  • 直接用它傳遞,傳遞過程中就是DTO;
  • 直接用來對應表示層就是VO。

bo

BO(Business Object)業務對象,封裝業務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業務操作。這個對象可以包括一個或多個其它的對象。
比如一個簡歷,有教育經歷、工作經歷、 關系等等。我們可以把教育經歷對應一個PO,工作經歷對應一個PO, 關系對應一個PO。建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。這樣處理業務邏輯時,我們就可以針對BO去處理。
關于BO主要有三種概念 :

  • 只包含業務對象的屬性;
  • 只包含業務方法;
  • 兩者都包含。
    在實際使用中,認為哪一種概念正確并不重要,關鍵是實際應用中適合自己項目的需要

dto

DTO(Data Transfer Object,數據傳輸對象)主要用于遠程調用等需要大量傳輸對象的地方。
比如說,我們一張表有100個字段,那么對應的PO就有100個屬性。但是我們界面上只要顯示10個字段, 客戶端用WEB service來獲取數據,沒有必要把整個PO對象傳遞到客戶端, 這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端以后,如果用這個對象來對應界面顯示,那此時它的身份就轉為VO。
DTO 是一組需要跨進程或網絡邊界傳輸的聚合數據的簡單容器。它不應該包含業務邏輯,并將其行為限制為諸如內部一致性檢查和基本驗證之類的活動。注意,不要因實 現這些方法而導致 DTO 依賴于任何新類。在設計數據傳輸對象時,您有兩種主要選擇:使用一般集合;或使用顯式的 getter 和 setter 方法創建自定義對象

do

DO( Data Object):與數據庫表結構一一對應,通過DAO層向上傳輸數據源對象。

JavaBean

JavaBean 是一種JAVA語言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數的構造器。JavaBean 通過提供符合一致性設計模式的公共方法將內部域暴露成員屬性,set和get方法獲取。眾所周知,屬性名稱符合這種模式,其他Java 類可以通過自省機制(反射機制)發現和操作這些JavaBean 的屬性。

總結

以上是生活随笔為你收集整理的领域模型命名规约【PO,VO,POJO,BO,DTO,DO,JavaBean】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。