日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


 

POJO

簡單的JAVA對象(Plain ordinary Java Objects)實際就是普通JavaBeans,使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接。

其中有一些屬性及其getter setter方法的類,有時可以作為value object或dto(Data Transform Object)來使用。

當然,如果你有一個簡單的運算屬性也是可以的,但不允許有業務方法,也不能攜帶有connection之類的方法。

PO

PO(persistant object) 持久對象,可以看成是與數據庫中的表相映射的java對象。一張表對映一個PO。

最簡單的PO就是對應數據庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中應該不包含任何對數據庫的操作。

DAO

DAO (data access object) 數據訪問對象,此對象用于訪問數據庫。

通常和PO結合使用,DAO中包含了各種數據庫的操作方法。通過它的方法,結合PO對數據庫進行相關的操作。

DTO

DTO (Data Transfer Object)

數據傳輸對象,主要用于遠程調用等需要大量傳輸對象的地方。比如我們一張表有100個字段,那么對應的PO就有100個屬性,但是我們界面上只要顯示10個字段,客戶端用WEB service來獲取數據,沒有必要把整個PO對象傳遞到客戶端,這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構。到達客戶端以后,如果用這個對象來對應界面顯示,那此時它的身份就轉為VO。

VO

VO(value object) 值對象,通常用于業務層之間的數據傳遞,和PO一樣也是僅僅包含數據而已。

但應是抽象出的業務對象,可以和表對應,也可以不,這根據業務的需要。個人覺得同DTO(數據傳輸對象),在web上傳遞。

BO

BO:全稱是business object:業務對象,主要作用是把業務邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。

比如一個簡歷,有教育經歷、工作經歷、社會關系等等。我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會關系對應一個PO。

建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。這樣處理業務邏輯時,我們就可以針對BO去處理。

biz

biz是Business的縮寫,是業務邏輯層,一般意義上和service層差不多。項目前期或者小項目沒什么太大區別,但是項目大了以后區別就很大了。

項目開發到后期的話,一個項目內包含有其他的小項目,比如:后臺、erp、商城等等,都用的是同一個數據庫。這個時候,就不能使用一個service/biz 全部解決了。有些業務是通用的,有一些業務可能只有erp有,其他模塊沒有,也有可能同一個業務,在細微上有一些差別,如果全部都放進一個業務層中的話,這個業務層就會非常的臃腫。這個時候就需要拆分,一個基礎業務層,一個應用層業務層,基礎業務層只是針對該對象的CURD操作

應用業務層就是一個復雜的功能模塊或流程。

 

這時可以考慮service作基礎業務層,biz作為應用層業務層。service是比較底層的api,biz是應用層的api。可以結合DDD領域驅動設計理解。

 

充血模型與貧血模型

貧血模型最早廣泛應用是源自于EJB2,最強盛時期則是由Spring創造,把“行為”(也稱為邏輯、過程)和“狀態”(可理解為數據,對應到語言就是對象成員變量)分離到不同的對象之中,那個只有狀態的對象就是所謂的“貧血對象”(常稱為VO——Value Object),而那個只有行為的對象就是我們常見的N層結構中的Logic/Service/Manager層(對應到EJB2中的Stateless Session Bean)。

充血模型其實很簡單,就是面向對象設計的本質:“一個對象是擁有狀態和行為的”,比如說一個人,他眼睛什么樣鼻子什么樣這就是狀態,人可以去打游戲或是寫程序,這就是行為。

總結

貧血模型, 將數據與db操作分離, 分個好幾層, 如entity/dao/service等。

充血模型, 數據與db操作綁在一次, 一般只涉及到一兩層。

充血模型層數少,代碼少, 改動少, 簡單, 優雅,一般復雜的系統可以考慮用充血模型,簡單系統用貧血模型也并沒有什么影響。

 

如若轉載,請注明出處:開源字節 https://sourcebyte.cn/article/229.html

分享到:
標簽:Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定