畢業設計總結(一) 資料庫概念 : DO,DTO,dodto

來源:互聯網
上載者:User

畢業設計總結(一) 資料庫概念 : DO,DTO,dodto

畢設告一段落,這一次畢設完全按照軟體工程流程進行,感觸良多,總結先不寫,先總結一下過程中出現的一些技術性問題,首先想說一下軟體設計實體的幾個概念。

實際上總共有四個概念: VO、DTO、DO、PO,根據我自己的理解,我只談DTO和DO。但是下面貼出四個概念的解釋:

(1) 概念解釋

  VO(View Object):視圖對象,用於展示層,它的作用是把某個指定頁面(或組件)的所有資料封裝起來。 

  DTO(Data Transfer Object):資料轉送對象,這個概念來源於J2EE的設計模式,原來的目的是為了EJB的分布式應用提供粗粒度的資料實體,以減少分布式調用的次數,從而提高分布式調用的效能和降低網路負載,但在這裡,我泛指用於展示層與服務層之間的資料轉送對象。 

  DO(Domain Object):領域對象,就是從現實世界中抽象出來的有形或無形的業務實體。 

  PO(Persistent Object):持久化對象,它跟持久層(通常是關係型資料庫)的資料結構形成一一對應的映射關係,如果持久層是關係型資料庫,那麼,資料表中的每個欄位(或若干個)就對應PO的一個(或若干個)屬性。

(2)DO

  DO,Domain Object,我一般是放在Model包中,即作為項目的實體物件存在,往往是直接與ORM架構互動的類。

  

  DO在實際開發中往往是一個POJO,提供了基本的Get/Set方法,方便進行資料操作,屬性一般是以private為許可權的,只有通過G/S方法才能對屬性進行訪問。直接與資料庫進行互動的也是DO。

(3)DTO

  DTO,Date Transfer Object,從字面意義上看就是資料轉送類,實際上也確實如此,在伺服器傳到用戶端的過程中,所需要的一個類的複雜度往往並不是資料庫一個表可以搞定的,而是需要通過多重查詢來拼裝組合成一個結果。舉個例子:

  Project在前台進行呈現的時候可能需要提供ProjectName,UserName(項目名,所屬人姓名),而在資料庫中對應的Project表的欄位可能是:ProjectId,UserId。單單查詢Project表查詢出來的只是User的一個Id而已,如果需要User的更多的資訊則需要聯合User表進行查詢才可以,而DO中的Project類是不可能有這麼詳細且多樣化的屬性的,此時拼裝出的資料應該放到ProjectDTO這個類中。舉例代碼如下:

  

1 public class Project{2       private String projectName;3       private String userid;      4 }
1 public class User{2     private String username;3     private String userid;4 }
public class ProjectDTO{     private String projectName;     private User user;}

如此將ProjectDTO傳到前台頁面就可以取到合適的顯示資料了,同時,由於是舉例子,可能並不完善,實際應用之中,DTO中的User往往應該是UserDTO,因為User類中可能含有Password這類屬性。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.