JDO vs Value Object
JDO er en Java-persistensteknologi som kan brukes til å lagre POJO (Vanlige gamle Java-objekter) i databaser uten å forstå de underliggende implementeringene av ulike datalager. 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 nivåer.
Hva er JDO?
JDO (Java Data Objects) gir en mekanisme for å levere utholdenhet til Java-objekter og database tilgang. JDO er svært gjennomsiktig fordi det tillater at Java-applikasjonsutviklerne får tilgang til de underliggende dataene uten å måtte skrive noen kode som er spesifikk for databaser. JDO kan brukes på flere nivåer, inkludert Java Standard Edition, Web-tier og applikasjonsservere. JDO API er et alternativ til annen utholdenhet (holder objekter etter abort av programmet) av Java-objekter som Serialization, JDBC (Java DataBase Connectivity) og EJB CMP (Enterprise JavaBeans arkitektur Container Managed Persistence). JDO bruker XML og forbedring av bytecode. Hovedfordelen ved å bruke JDO API er at de kan lagre data uten behov for å lære et nytt spørrespråk som SQL (som avhenger av typen datalagring). JDO er veldig enkelt å bruke siden utviklere kan fokusere bare på deres domeneobjektmodell. Ikke bare dette, JDO optimaliserer koden av seg selv i henhold til datatilgang. Fordi JDO API ikke er strenge på typen av datalager, kan samme grensesnitt brukes av Java-programutviklerne til å lagre Java-objekter til enhver datalager, inkludert relasjonsdatabase, objektdatabase eller XML. JDO er svært bærbar, fordi endring eller rekompilering ikke er nødvendig for å kjøre på forskjellige leverandørimplementeringer.
Hva er verdiobjekt?
Value Object, også kjent som Data Transfer Objects (DTO), er et enkelt abstrakt designmønster som omhandler en databeholder for å holde data for å overføre data mellom lag og nivåer. Selv om det mest nøyaktige uttrykket for dette mønsteret er Dataoverføringsobjektet, skyldes en feil i Core J2EEs første versjon, ble det introdusert som Value Object. Selv om denne feilen ble korrigert i 2. utgave, ble dette navnet populært og brukes fortsatt sterkt i stedet for Dataoverføringsobjekt (men det bør bemerkes at riktig term er Dataoverføringsobjekt). 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 disse bare er enkle dataholdere som brukes til å overføre data mellom klienten og databasen, og de gir ikke utholdenhet av noe slag. DTO tjener til å fungere som Serializable objekter i tradisjonell EJB (som entitetsbønner før 3.0 ikke er serialiserbare). I en separat samlingsfase definert av DTO, er alle dataene som brukes av visningen, anskaffet og marshalert før frigjøring av kontrollen 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 detaljeringsnivådetaljer og tillate utviklerne å fokusere på ikke-databasespesifikk koding. Men Value Object representerer et abstrakt designmønster (ikke en teknologi) som gir en generisk dataholder kjent som et Dataoverføringsobjekt som kan inneholde data for å overføre mellom klient og databaser. JDO gir anlegget til vedvarende dataposter, mens Value Object kun omhandler å holde data midlertidig i løpet av dataoverføringen. Med andre ord gir Value Object ikke utholdenhet.