"Där är du."

"Jag tänkte på det och bestämde mig för att lära dig en liten lektion till som kommer att vara till stor hjälp för dig. Tills du arbetar som programmerare kommer du förmodligen aldrig att stöta på någon speciell terminologi, så jag vill introducera dig för flera vanliga begrepp nu."

"För cirka 10 år sedan blev E nterprise  J ava  B eans ( EJB ) flitigt använt."

"Vad betyder JavaBeans?"

"JavaBeans betyder i grunden kaffebönor (Java är ett slags kaffe). Det är IT-humor."

"Ett programs affärslogik tog formen av en grupp av högnivåobjekt, eller bönor, som kunde utbyta meddelanden, rädda sig själva, hitta varandra med namn och en hel del mer. Vanligtvis uppnåddes detta genom en speciell super- fancy föräldraklass även om det fanns andra tillvägagångssätt. Sådana föremåls beteende var mycket reglerat."

"De tre mest kända typerna av EJB-bönor är:"

"En Entity Bean är en böna vars syfte är att lagra viss data. Den här typen av böna har en inbyggd mekanism för att spara sig själv och dess fält i en databas. Den här typen av objekt kan förstöras och sedan återskapas senare från databasen. Men förutom att lagra data har det ingen logik."

"En sessionsböna är en funktionell böna. Varje sessionsböna har sin egen funktion. En gör en sak, och en annan gör något annat. Sådana bönor fungerar med andra föremål och bönor, inte med sina egna data."

" Sessionsbönor är indelade i två kategorier."

"En Stateless Session Bean är en böna vars interna variabler inte lagrar viktig data som den behöver för att fungera. Den här typen av böna kan förstöras och sedan återskapas, och den kommer att utföra sin funktion precis som tidigare."

"En Statefull Session Bean är en böna som internt lagrar den data som den använder när den arbetar. Om vi ​​anropar metoder på en sådan böna kan varje efterföljande anrop använda en del av den data som skickats till bönan i tidigare anrop. Ändå är denna böna är inte detsamma som ett vanligt föremål."

"Men att använda bönor var inte så bra heller, så snart svängde pendeln i motsatt riktning. Och utvecklare började använda vanliga föremål oftare. De kom till och med på ett speciellt namn."

"En POJO är ett vanligt gammalt  J ava  - objekt . Dessa objekt hade inga superfunktioner och ärvde inte superobjekt. De var bara vanliga Java-objekt .

"När du lär känna EJB i praktiken kommer du att förstå skillnaden. Grovt sett är en POJO en kniv och en EJB är en schweizisk armékniv som du också kan använda för att ringa telefonsamtal."

"Intressant jämförelse."

"Ja, och här är en sak till."

"Med tiden började objekt och klasser att specialiseras. Som ett resultat identifierade utvecklare vissa roller och gav nya namn till motsvarande objekt."

"Ett dataöverföringsobjekt ( DTO ) är ett objekt skapat för att transportera data. Dessa objekt har vanligtvis två krav. De måste: a) kunna lagra data, b) vara serialiserbara. Med andra ord, de används endast för att överföra data ."

"Du skapar ett objekt, skriver in nödvändig data från affärslogiken i det, serialiserar det till JSON eller XML och skickar det dit det ska. Eller tvärtom: ett meddelande kommer, du deserialiserar det till ett DTO-objekt och extrahera data från den."

"En Entity är ett objekt som lagras i en databas. Men de innehåller ingen affärslogik. Man kan säga att detta är affärsmodellens data."

"Vi har också dataåtkomstobjektet ( DAO ). En DAO används för att spara objekt till och hämta dem från en databas. Entiteten gör inte detta, eftersom den inte har någon logik, så den kan inte spara vad som helst var som helst."

Exempel:

Förhållandet mellan en DAO och 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 var allt tills vidare."

"Även om det här är en liten introduktionslektion, kommer du fortfarande inte att kunna förstå mer just nu. Vi skulle kunna ägna dagar åt att prata om vart och ett av dessa ämnen, och vi skulle kunna ägna flera år åt att täcka EJB."

"Men jag vill att du åtminstone ska kunna föreställa dig vad som sägs om du stöter på dessa saker i konversationer och meddelanden, på forum eller i en intervju."

"Hmm. Tack, Bilaabo. Ja, jag tror att jag inte kan tillräckligt med facktermer. Återigen, tack så mycket."