JDO vs Value Object
JDO er en Java-persistensteknologi som kan brukes til å lagre POJO (Plain Old Java Objects) i databaser uten behov for å forstå de underliggende implementeringene av forskjellige datalagre. Value Object (også kjent som Data Transfer Object) er et abstrakt designmønster som introduserer konseptet med en enkel dataholder med det formål å overføre data mellom flere lag og lag.
Hva er JDO?
JDO (Java Data Objects) gir en mekanisme for å levere utholdenhet til Java-objekter og databasetilgang. JDO er svært gjennomsiktig fordi den lar Java-applikasjonsutviklere få tilgang til de underliggende dataene uten å måtte skrive noen kode spesifikk for databaser. JDO kan brukes på tvers av flere nivåer, inkludert Java Standard Edition, Web-tier og applikasjonsservere. JDO API er et alternativ til annen persistens (holde objekter etter abort av programmet) av Java-objekter som Serialization, JDBC (Java DataBase Connectivity) og EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO bruker XML og forbedring av bytekode. Den største fordelen med å bruke JDO API er at de kan lagre data uten å måtte lære et nytt spørringsspråk som SQL (som avhenger av typen datalagring). JDO er veldig enkel å bruke siden utviklere kan fokusere kun på deres domeneobjektmodell. Ikke bare dette, JDO optimaliserer koden av seg selv i henhold til datatilgang. Fordi JDO API ikke er streng på typen datalager, kan det samme grensesnittet brukes av java-applikasjonsutviklere til å lagre java-objekter til et hvilket som helst datalager, inkludert relasjonsdatabase, objektdatabase eller XML. JDO er svært bærbar fordi modifikasjon eller rekompilering ikke er nødvendig for å kjøre på forskjellige leverandørimplementeringer.
Hva er Value Object?
Value Object også kjent som Data Transfer Objects (DTO) er et enkelt abstrakt designmønster som omhandler en databeholder for å holde data med det formål å overføre data mellom lag og lag. Selv om den mest nøyaktige betegnelsen for dette mønsteret er Data Transfer Object, ble det på grunn av en feil i Core J2EEs første versjon introdusert som Value Object. Selv om denne feilen ble rettet i 2. utgave, ble dette navnet populært og brukes fortsatt mye i stedet for Data Transfer Object (men det skal bemerkes at den korrekte termen er Data Transfer Object). DTO-designmønster brukes med entitetsbønner, JDBC og JDO for å rette opp problemer som oppstår med hensyn til isolasjon og transaksjoner i bedriftsapplikasjoner. Det er viktig å merke seg at dette kun er enkle dataholdere som brukes til å overføre data mellom klienten og databasen, og de gir ikke utholdenhet av noe slag. DTO tjener formålet med å fungere som serialiserbare objekter i tradisjonell EJB (som enhetsbønner før 3.0 er ikke serialiserbare). I en separat monteringsfase definert av DTO, innhentes alle data som brukes av visningen og samles før kontrollen slippes til presentasjonslaget.
Hva er forskjellen mellom JDO og Value Object?
JDO er faktisk en utholdenhetsteknologi som brukes til å lagre Java-objekter i databaser som gir utviklerne bekvemmelighet ved å håndtere alle detaljene på implementeringsnivået og la utviklerne fokusere på ikke-databasespesifikk koding. Men verdiobjektet representerer et abstrakt designmønster (ikke en teknologi) som gir en generisk dataholder kjent som et dataoverføringsobjekt som kan inneholde data med det formål å overføre mellom klient og databaser. JDO gir mulighet for vedvarende dataelementer, mens Value Object bare omhandler midlertidig oppbevaring av data i løpet av dataoverføringsperioden. Med andre ord, Value Object gir ikke utholdenhet.