JDO vs Value Object
A JDO egy Java perzisztencia technológia, amely használható a POJO (sima régi Java objektumok) adatbázisokban való tárolására anélkül, hogy meg kellene értenie a különböző adattárak mögöttes megvalósításait. A Value Object (más néven Data Transfer Object) egy absztrakt tervezési minta, amely bevezeti az egyszerű adattároló fogalmát több réteg és szint közötti adatátvitel céljából.
Mi az a JDO?
A JDO (Java Data Objects) olyan mechanizmust biztosít, amely a Java objektumok és az adatbázis-hozzáférés tartósságát biztosítja. A JDO rendkívül átlátható, mert lehetővé teszi a Java-alkalmazások fejlesztői számára, hogy hozzáférjenek a mögöttes adatokhoz anélkül, hogy adatbázis-specifikus kódot kellene írniuk. A JDO több szinten is használható, beleértve a Java Standard Edition-t, a webes réteget és az alkalmazásszervereket. A JDO API a Java objektumok, például a sorosítás, a JDBC (Java DataBase Connectivity) és az EJB CMP (Enterprise JavaBeans architektúra Container Managed Persistence) perzisztenciájának (az objektumok megtartása a program megszakítása után) alternatívája. A JDO XML-t és a bájtkód javítását használja. A JDO API használatának fő előnye, hogy képesek adatokat tárolni anélkül, hogy új lekérdezési nyelvet kellene megtanulniuk, például az SQL-t (ez az adattárolás típusától függ). A JDO használata nagyon egyszerű, mivel a fejlesztők csak a tartományobjektum-modelljükre koncentrálhatnak. Nem csak ez, a JDO önmagában optimalizálja a kódot az adatelérésnek megfelelően. Mivel a JDO API nem határozza meg szigorúan az adattár típusát, a java alkalmazásfejlesztők ugyanazt az interfészt használhatják a java objektumok tárolására bármely adattárban, beleértve a relációs adatbázist, az objektumadatbázist vagy az XML-t. A JDO nagymértékben hordozható, mivel nincs szükség módosításra vagy újrafordításra a különböző szállítói megvalósításokon való futtatáshoz.
Mi az az értékobjektum?
Az értékobjektum, más néven adatátviteli objektumok (DTO) egy egyszerű absztrakt tervezési minta, amely egy adattárolóval foglalkozik, amely adatokat tárol a rétegek és szintek közötti adatátvitel céljából. Bár erre a mintára a legpontosabb kifejezés az adatátviteli objektum, a Core J2EE első verziójának hibája miatt Value Object néven vezették be. Bár ezt a hibát a 2. kiadásban kijavították, ez a név népszerűvé vált, és még mindig gyakran használják a Data Transfer Object helyett (de meg kell jegyezni, hogy a helyes kifejezés a Data Transfer Object). A DTO tervezési mintát az entitás komponensekkel, a JDBC-vel és a JDO-val használják az elkülönítéssel és a tranzakciókkal kapcsolatos problémák megoldására a vállalati alkalmazásokban. Fontos megjegyezni, hogy ezek csak egyszerű adathordozók, amelyek a kliens és az adatbázis közötti adatátvitelre szolgálnak, és nem biztosítanak semmiféle tartósságot. A DTO azt a célt szolgálja, hogy szerializálható objektumként működjön a hagyományos EJB-ben (3 előtti entitásbabként.0 nem szerializálható). A DTO által meghatározott külön összeállítási fázisban a nézet által felhasznált összes adatot begyűjtik és rendezik, mielőtt a vezérlőt a prezentációs rétegre bocsátják.
Mi a különbség a JDO és a Value Object között?
A A JDO tulajdonképpen egy perzisztencia technológia, amelyet Java objektumok adatbázisokban való tárolására használnak, amely kényelmet biztosít a fejlesztők számára azáltal, hogy kezeli az összes megvalósítási szintű részletet, és lehetővé teszi a fejlesztők számára, hogy a nem adatbázis-specifikus kódolásra összpontosítsanak. Az értékobjektum azonban egy absztrakt tervezési mintát (nem technológiát) képvisel, amely egy adatátviteli objektumként ismert általános adattárolót biztosít, amely adatokat tárolhat az ügyfél és az adatbázisok közötti átvitel céljából. A JDO biztosítja a perzisztáló adatelemek lehetőségét, míg a Value Object csak az adatok átmeneti megőrzésével foglalkozik az adatátvitel időtartama alatt. Más szavakkal, a Value Object nem biztosít tartósságot.