"Der er du."

"Jeg tenkte på det og bestemte meg for å lære deg en liten leksjon til som vil være veldig nyttig for deg. Før du jobber som programmerer, vil du sannsynligvis aldri møte noen spesiell terminologi, så jeg vil introdusere deg til flere vanlige konsepter nå."

"For omtrent 10 år siden ble E nterprise  J ava  B eans ( EJB ) mye brukt."

"Hva betyr JavaBeans?"

"JavaBeans betyr i utgangspunktet kaffebønner (Java er en slags kaffe). Det er IT-humor."

"Et programs forretningslogikk tok form av en gruppe objekter på høyt nivå, eller bønner, som kunne utveksle meldinger, redde seg selv, finne hverandre ved navn og mye mer. Vanligvis ble dette oppnådd gjennom en spesiell super- fancy foreldreklasse selv om det fantes andre tilnærminger. Oppførselen til slike gjenstander var sterkt regulert."

"De tre mest kjente typene EJB-bønner er:"

"En Entity Bean er en bønne hvis formål er å lagre visse data. Denne typen bønne har en innebygd mekanisme for å lagre seg selv og dens felt i en database. Denne typen objekter kan ødelegges og deretter gjenskapes senere fra databasen. Men bortsett fra å lagre data, har det ingen logikk."

"En Session Bean er en funksjonell bønne. Hver sesjonsbønne har sin egen funksjon. En gjør én ting, og en annen gjør noe annet. Slike bønner fungerer med andre objekter og bønner, ikke med sine egne data."

" Session Beans er delt inn i to kategorier."

"En Stateless Session Bean er en bønne hvis interne variabler ikke lagrer viktige data som den trenger for å fungere. Denne typen bønne kan ødelegges og deretter gjenskapes, og den vil utføre sin funksjon akkurat som før."

"En Statefull Session Bean er en bønne som internt lagrer dataene den bruker når den jobber. Hvis vi kaller metoder på en slik bønne, kan hvert påfølgende kall bruke noe av dataene som ble sendt til bønnen i tidligere samtaler. Likevel, denne bønnen er ikke det samme som et vanlig objekt."

"Men å bruke bønner var heller ikke så bra, så snart svingte pendelen i motsatt retning. Og utviklere begynte å bruke vanlige gjenstander oftere. De kom til og med på et spesielt navn."

"En POJO er et vanlig gammelt  J ava  - objekt . Disse objektene hadde ingen superfunksjoner og arvet ikke superobjekter. De var bare vanlige Java-objekter "

"Når du blir kjent med EJB i praksis, vil du forstå forskjellen. Grovt sett er en POJO en kniv, og en EJB er en sveitsisk kniv som du også kan bruke til å ringe."

"Interessant sammenligning."

"Ja, og her er en ting til."

"Over tid begynte objekter og klasser å bli spesialiserte. Som et resultat identifiserte utviklere visse roller og ga nye navn til de tilsvarende objektene."

"Et dataoverføringsobjekt ( DTO ) er et objekt som er opprettet for å transportere data. Disse objektene har vanligvis to krav. De må: a) kunne lagre data, b) kunne serialiseres. Med andre ord brukes de kun til å overføre data ."

"Du oppretter et objekt, skriver de nødvendige dataene fra forretningslogikken inn i det, serialiserer det til JSON eller XML, og sender det dit det skal. Eller omvendt: en melding kommer, du deserialiserer den til et DTO-objekt , og trekke ut data fra den."

"En Entity er et objekt som er lagret i en database. Men de inneholder ingen forretningslogikk. Du kan si at dette er forretningsmodellens data."

"Vi har også datatilgangsobjektet ( DAO ). En DAO brukes til å lagre objekter til og hente dem fra en database. Entiteten gjør ikke dette, siden den ikke har noen logikk, så den kan ikke lagre hva som helst hvor som helst."

Eksempel:

Forholdet mellom en DAO og en enhet
UserEntity user = UserDAO.getUserById("1535");
if (user.getAge() > 18)
{
 user.setMobilization(true);
 UserDAO.save(user);
}
Kommentarer
UserEntity is a class that stores user data
UserDAO is a class that retrieves data (UserEntity objects) from the database and stores it there again after modifying it.

"Det er alt for nå."

"Selv om dette er en liten introduksjonsleksjon, vil du fortsatt ikke kunne forstå mer akkurat nå. Vi kan bruke dager på å snakke om hvert av disse emnene, og vi kan bruke år på å dekke EJB."

"Men jeg vil at du i det minste skal kunne forestille deg hva som blir sagt hvis du kommer over disse tingene i samtaler og meldinger, på forum eller i et intervju."

"Hmm. Takk, Bilaabo. Ja, jeg tror jeg ikke kan nok faguttrykk. Igjen, tusen takk."