Verskil tussen JDO en waarde-objek

Verskil tussen JDO en waarde-objek
Verskil tussen JDO en waarde-objek

Video: Verskil tussen JDO en waarde-objek

Video: Verskil tussen JDO en waarde-objek
Video: Don't Call Me Bigfoot | Sasquatch Documentary 2024, Desember
Anonim

JDO vs Value Object

JDO is 'n Java-volhardingstegnologie wat gebruik kan word om POJO (Plain Old Java Objects) in databasisse te stoor sonder dat dit nodig is om die onderliggende implementerings van verskillende datastore te verstaan. Value Object (ook bekend as Data Transfer Object) is 'n abstrakte ontwerppatroon wat die konsep van 'n eenvoudige datahouer bekendstel vir die doel om data tussen veelvuldige lae en vlakke oor te dra.

Wat is JDO?

JDO (Java Data Objects) verskaf 'n meganisme om volharding aan Java-voorwerpe en databasistoegang te lewer. JDO is hoogs deursigtig omdat dit die Java-toepassingsontwikkelaars in staat stel om toegang tot die onderliggende data te kry sonder om enige kode spesifiek vir databasisse te skryf. JDO kan oor verskeie vlakke gebruik word, insluitend Java Standard Edition, Web-vlak en toepassingsbedieners. JDO API is 'n alternatief vir ander volharding (hou voorwerpe na die aborsie van die program) van Java-voorwerpe soos Serialization, JDBC (Java DataBase Connectivity) en EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO gebruik XML en verbetering van greepkode. Die grootste voordeel van die gebruik van JDO API is dat hulle data kan stoor sonder om 'n nuwe navraagtaal soos SQL aan te leer (wat afhang van die tipe databerging). JDO is baie maklik om te gebruik aangesien ontwikkelaars slegs op hul domeinobjekmodel kan fokus. Nie net dit nie, JDO optimaliseer kode self volgens datatoegang. Omdat JDO API nie streng is op die tipe datastoor nie, kan dieselfde koppelvlak deur die java-toepassingsontwikkelaars gebruik word om java-voorwerpe in enige datawinkel te stoor, insluitend relasionele databasis, objekdatabasis of 'n XML. JDO is hoogs draagbaar omdat wysiging of hersamestelling nie nodig is om op verskillende verskaffer-implementasies uit te voer nie.

Wat is Value Object?

Value Object ook bekend as Data Transfer Objects (DTO) is 'n eenvoudige abstrakte ontwerppatroon wat handel oor 'n datahouer om data te hou vir die doel om data tussen lae en vlakke oor te dra. Alhoewel die mees akkurate term vir hierdie patroon die Data Transfer Object is, is dit as gevolg van 'n fout in Core J2EE se eerste weergawe as Value Object bekendgestel. Alhoewel hierdie fout in die 2de uitgawe reggestel is, het hierdie naam gewild geword en word dit steeds baie gebruik in plaas van Data Transfer Object (maar daar moet kennis geneem word dat die korrekte term Data Transfer Object is). DTO-ontwerppatroon word gebruik met entiteitsbone, JDBC en JDO om probleme wat voorkom met betrekking tot isolasie en transaksies in ondernemingstoepassings reg te stel. Dit is belangrik om daarop te let dat dit slegs eenvoudige datahouers is wat gebruik word om data tussen die kliënt en die databasis oor te dra en dat dit nie enige soort volharding verskaf nie. DTO dien die doel om op te tree as serialiseerbare voorwerpe in tradisionele EJB (as entiteitsbone voor 3.0 is nie serialiseerbaar nie). In 'n afsonderlike samestellingfase wat deur DTO gedefinieer word, word alle data wat deur die aansig gebruik word verkry en saamgestel voor die vrystelling van die beheer na die aanbiedingslaag.

Wat is die verskil tussen JDO en Value Object?

JDO is eintlik 'n volhardingstegnologie wat gebruik word om Java-voorwerpe in databasisse te stoor wat gerief aan die ontwikkelaars bied deur al die implementeringsvlakbesonderhede te hanteer en die ontwikkelaars toe te laat om op nie-databasisspesifieke kodering te fokus. Maar die Waarde-objek verteenwoordig 'n abstrakte ontwerppatroon (nie 'n tegnologie nie) wat 'n generiese datahouer verskaf wat bekend staan as 'n Data-oordragobjek wat data kan hou vir die doel om tussen kliënt en databasisse oor te dra. JDO bied die fasiliteit van volgehoue data-items, terwyl Value Object slegs handel oor die tydelike hou van data gedurende die tydperk van data-oordrag. Met ander woorde, Value Object verskaf nie volharding nie.

Aanbeveel: