DTO (Data Transfer Object)數(shù)據(jù)傳輸對(duì)象:主要用于遠(yuǎn)程調(diào)用等需要大量傳輸對(duì)象的地方。
目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、楚雄州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
從現(xiàn)實(shí)世界中抽象出來的有形或無形的業(yè)務(wù)實(shí)體。DO和PO在絕大部分情況下是一一對(duì)應(yīng)的,PO是只含有g(shù)et/set方法的POJO。data access object:數(shù)據(jù)訪問對(duì)象 為業(yè)務(wù)層提供接口,負(fù)責(zé)與底層MySQL、Oracle、Hbase等進(jìn)行交互。
一個(gè)POJO持久化以后就是PO直接用它傳遞、傳遞過程中就是DTO直接用來對(duì)應(yīng)表示層就是VODAO:data access object數(shù)據(jù)訪問對(duì)象這個(gè)大家最熟悉,和上面幾個(gè)O區(qū)別最大,基本沒有互相轉(zhuǎn)化的可能性和必要.主要用來封裝對(duì)數(shù)據(jù)庫的訪問。
pojo 是Plain Old Java Object的縮寫,就是javabean。vo是view object的縮寫,就是用于頁面顯示的javabean。vo就是pojo。只是通途上的用于攜帶頁面顯示信息。
使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接。其中有一些屬性及其getter setter方法的類,沒有業(yè)務(wù)邏輯,有時(shí)可以作為VO(value -object)或dto(Data Transform Object)來使用。
1、個(gè)人感覺POJO是最常見最多變的對(duì)象,是一個(gè)中間對(duì)象,也是我們最常打交道的對(duì)象。
2、POJO對(duì)象有時(shí)也被稱為Data對(duì)象,大量應(yīng)用于表現(xiàn)現(xiàn)實(shí)中的對(duì)象。一個(gè)POJO持久化以后就是PO。
3、從現(xiàn)實(shí)世界中抽象出來的有形或無形的業(yè)務(wù)實(shí)體。DO和PO在絕大部分情況下是一一對(duì)應(yīng)的,PO是只含有g(shù)et/set方法的POJO。data access object:數(shù)據(jù)訪問對(duì)象 為業(yè)務(wù)層提供接口,負(fù)責(zé)與底層MySQL、Oracle、Hbase等進(jìn)行交互。
4、使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接。其中有一些屬性及其getter setter方法的類,沒有業(yè)務(wù)邏輯,有時(shí)可以作為VO(value -object)或dto(Data Transform Object)來使用。
1、自定義下拉列表框控件類的實(shí)現(xiàn):我們采用了TextView+ImageView+PopupWindow的組合方案,所以我的自定義控件需要重寫ViewGroup,由于我們已經(jīng)知道了,布局方向?yàn)樨Q直方向,所以這里,我直接繼承LinearLayout來寫這個(gè)控件。
2、include是用于在布局中引入其他布局,比如你要用到非常多的控件,就可以多創(chuàng)建幾個(gè)布局文件,引用到你的主布局里,這樣可以避免一個(gè)布局文件過大過長,也可以方便復(fù)用。
3、現(xiàn)有的View滿足不了你的需求,也沒有辦法從已有控件派生一個(gè)出來;界面元素需要自己繪制。 現(xiàn)有View可以滿足要求,把它做成自定義View只是為了抽象:為這個(gè)自定義View提供若干方法,方便調(diào)用著操縱View。
4、空空如也,其實(shí)View的布局由父容器決定,所以空實(shí)現(xiàn)是正常的,當(dāng)然也可以在自定義View中進(jìn)行更改。
1、測試考慮事項(xiàng)DTO 是簡單對(duì)象,它不應(yīng)該包含需要測試的任何業(yè)務(wù)邏輯。但是,您確實(shí)需要測試每個(gè) DTO 的數(shù)據(jù)聚合。每個(gè) DTO 可能需要測試,也可能不需要,這取決于您的序列化機(jī)制。
2、使用 DTO 要求實(shí)例化新對(duì)象,并為每個(gè)參數(shù)調(diào)用 setters 和 getters。編寫此代碼可能是很乏味的。 影響因素DTO與DAO的問題,在與遠(yuǎn)程對(duì)象通信時(shí),請考慮下列需要權(quán)衡的因素: 在考慮網(wǎng)絡(luò)性能時(shí),必須同時(shí)考慮滯后時(shí)間和吞吐量。
3、DTO的使用往往缺乏通用性。不通的用戶案例需要?jiǎng)?chuàng)建不同的DTO。當(dāng)項(xiàng)目很復(fù)雜時(shí),從維護(hù)性考慮需要更好的數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方式。Domain Transfer Hash Map即利用HashMap作為客戶所需數(shù)據(jù)集的封裝。好處是: 良好的維護(hù)性。
4、數(shù)據(jù)傳輸對(duì)象(DTO),是一種設(shè)計(jì)模式之間傳輸數(shù)據(jù)的軟件應(yīng)用系統(tǒng)。數(shù)據(jù)傳輸目標(biāo)往往是結(jié)合使用的數(shù)據(jù)訪問對(duì)象從數(shù)據(jù)庫中檢索數(shù)據(jù)。
5、個(gè)人認(rèn)為QO和DTO差不多.---PO或叫BO,與數(shù)據(jù)庫最接近的一層,是ORM中的O,基本上是數(shù)據(jù)庫字段對(duì)應(yīng)BO中的一個(gè)屬性,為了同步與安全性考慮,最好只給DAO或者Service調(diào)用,而不要用packcode,backingBean,或者BO調(diào)。
6、②、Action將界面采集的數(shù)據(jù)組裝為DTO對(duì)象后調(diào)用視圖服務(wù)ViewService。特別強(qiáng)調(diào):一般情況下,我們不走這條線。