[Java lista] Nyári uborkaszezon idejére Transfer Object kérdés

István Viczián viczian.istvan at gmail.com
2009. Júl. 9., Cs, 09:10:16 CEST


Szia,

A problémádra kevés válasz jött, akkor már megpróbálok valamit, ha már
a DTO-kat javasoltam, hátha segít. Alapban nem volt a fejemben, hogy
JPA-t használsz, mert akkor gyorsan mondtam volna, hogy a JPA
entitások, amik POJO-k, azok maguk is DTO-ként szerepelhetnek, pont
azért, mert pehelysúlyú komponensek. Szóval a DTO tervezési minta
marad, csak nem kell neki külön osztályokat írogatni.
Ami az entitások átvitele ellen szól, hogy ezzel nincs megoldva az a
problémád, hogy ne mindent vigyél kliens oldalra, csak amire szükséged
van. Ezt kitrükközheted a lazy-vel is (bár biztonsági szempontból nem
jó, mert ott vannak a metódusok, és a gui fejelsztő megpróbálhatja
hívni - bár én ezt nem tartom nyomós érvnek), de ha a struktúrája is
más a gui-dnak, mint az üzleti objektumaidnak, akkor érdemes a view
helper-eket használni, ami gyakorlatilag átalakítja olyan
objektumokká, amit ki lehet adni a view rétegnek (JSP, GWT), ami
gyorsabban tudja azt megjeleníteni, nem kell transzformálnia, ez
megoldja mondjuk a controllered. Ekkor kellhet külön osztály. Ha már
csináltál, akkor előjön ez a jó kis probléma, hogy nem csak egy
objektumból, hanem egy objektum gráfból kell DTO gráfot csinálni.
Nekem ilyen még nem kellett, de érdemes megnézni a JAXB megoldását. Az
ezt a helyzetet cyclic reference-nek hívja. Több megoldás is van,
reklám: http://jtechlog.blogspot.com/2009/07/jaxb-trukkok.html
Szóval esetleg te is játszhatnál azzal, hogy a visszamutatót
transient-té teszed, ebből látszik, hogy ezt nem kell újra DTO-vá
gyártania, és valami speckó metódus meg beállítja a visszamutatót. Nem
próbáltam élesben, csak egy ötlet, hogy ugyanezt a problémát más
technológia hogy oldja meg.

Viczi

2009/7/8 zamek <zamek at vili.pmmf.hu>:
> Istvan Benedek írta:
>> Akkor lehet, hogy nem is sok ertelme van TOt csinalnod? serializable-k
>> az entitasaid?
>
> Természetesen. Csak azért csináltam TO-kat, mert
> 1. nem találtam meg a weaving-et és a társaság itt (
> http://javagrund.hu/pipermail/javalist/2009-April/004764.html )
> emellett tette le a voksot.
>
>> 2009/7/8 zamek <zamek at vili.pmmf.hu>:
>>> Istvan Benedek írta:
>>>> TOt mindig valamilyen jol definialt cellal hozunk letre, tudjuk mit
>>>> teszunk bele.. hisz eppen azert hasznaljuk, hogy elkeruljunk egy heavy
>>>> weight entitas mozgatasat,
>>>> legyen annak akar lazy loaded resze, vagy csupan egy olyan objectumra
>>>> van szukseged ami aggregal adatokat. Azt hiszem olyat se csinaltam meg
>>>> hogy egy TOm TOt tartalmazott volna..
>>>> Buildeleskor meg lehet figyelni a vegtelen ciklusra.. bar mielott
>>>> megvalaszoljatok az eredeti kerdest, erdekelne, hogy miert szukseges
>>>> TOba TOkat tenni?
>>> Ha abból indulunk ki, hogy TO-ba kell mindent átmásolni, akkor egy many*
>>> kapcsolatot to-ban hogyan csinaljam meg másképp?
>>> Én örülnék a legjobban, ha nem kellene to, mert sak lassítja az életet
>>> és pl. ilyen szívásokat generál.
>>>
>>>
>>> --
>>>  thx,
>>> ----------------------------------
>>> Zoltan Zidarics programmer
>>> PTE-PMMFK H-7621 Pecs, Boszorkany u. 2. Hungary
>>> E-Mail: zamek at vili.pmmf.hu
>>> ----------------------------------
>>>
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at javagrund.hu
>>> http://javagrund.hu/mailman/listinfo/javalist
>>>
>>
>>
>>
>
>
> --
>  thx,
> ----------------------------------
> Zoltan Zidarics programmer
> PTE-PMMFK H-7621 Pecs, Boszorkany u. 2. Hungary
> E-Mail: zamek at vili.pmmf.hu
> ----------------------------------
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>


További információk a(z) Javalist levelezőlistáról