JDO vs værdiobjekt
JDO er en Java-persistens-teknologi, der kan bruges til at gemme POJO (Plain Old Java Objects) i databaser uden behov for at forstå de underliggende implementeringer af forskellige datalagre. Value Object (også kendt som Data Transfer Object) er et abstrakt designmønster, der introducerer konceptet med en simpel dataholder med det formål at overføre data mellem flere lag og lag.
Hvad er JDO?
JDO (Java Data Objects) tilvejebringer en mekanisme til at levere vedholdenhed til Java-objekter og databaseadgang. JDO er meget gennemsigtig, fordi det giver Java-applikationsudviklere adgang til de underliggende data uden at skulle skrive nogen kode, der er specifik for databaser. JDO kan bruges på tværs af flere niveauer, herunder Java Standard Edition, Web-tier og applikationsservere. JDO API er et alternativ til anden persistens (at holde objekter efter abort af programmet) af Java-objekter som Serialisering, JDBC (Java DataBase Connectivity) og EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO bruger XML og forbedring af bytecode. Den største fordel ved at bruge JDO API er, at de kan gemme data uden behov for at lære et nyt forespørgselssprog som SQL (som afhænger af typen af datalagring). JDO er meget nem at bruge, da udviklere kun kan fokusere på deres domæneobjektmodel. Ikke kun dette, JDO optimerer koden i sig selv i henhold til datatilgang. Da JDO API ikke er streng med hensyn til datalageret, kan den samme grænseflade bruges af Java-applikationsudviklerne til at gemme java-objekter til ethvert datalager, herunder relationsdatabase, objektdatabase eller en XML. JDO er meget bærbar, fordi ændring eller rekompilering ikke er nødvendig for at køre på forskellige leverandørimplementeringer.
Hvad er værdiobjekt?
Value Object også kendt som Data Transfer Objects (DTO) er et simpelt abstrakt designmønster, der beskæftiger sig med en databeholder til at indeholde data med det formål at overføre data mellem lag og lag. Selvom det mest nøjagtige udtryk for dette mønster er Data Transfer Object, blev det på grund af en fejl i Core J2EEs første version introduceret som Value Object. Selvom denne fejl blev rettet i 2. udgave, blev dette navn populært og bruges stadig stærkt i stedet for Dataoverførselsobjekt (men det skal bemærkes, at den rigtige udtryk er Dataoverførselsobjekt). DTO-designmønster bruges sammen med enhedsbønner, JDBC og JDO til at afhjælpe problemer, der opstår med hensyn til isolering og transaktioner i virksomhedsapplikationer. Det er vigtigt at bemærke, at dette kun er enkle dataholdere, der bruges til at overføre data mellem klienten og databasen, og de giver ikke vedholdenhed af nogen art. DTO tjener formålet med at fungere som serialiserbare objekter i traditionel EJB (som enhedsbønner inden 3.0 ikke kan serialiseres). I en separat monteringsfase, der er defineret af DTO, erhverves og samles alle data, der bruges af visningen, før kontrollen frigives til præsentationslaget.
Hvad er forskellen mellem JDO og Value Object?
JDO er faktisk en vedvarende teknologi, der bruges til at gemme Java-objekter i databaser, hvilket giver udviklerne bekvemmelighed ved at håndtere alle implementeringsniveaudetaljer og lade udviklerne fokusere på ikke databasespecifik kodning. Men værdiobjektet repræsenterer et abstrakt designmønster (ikke en teknologi), der giver en generisk dataholder kendt som et dataoverførselsobjekt, der kan indeholde data med det formål at overføre mellem klient og databaser. JDO giver mulighed for vedvarende dataelementer, mens Value Object kun omhandler opbevaring af data midlertidigt i perioden med dataoverførsel. Med andre ord giver Value Object ikke persistens.